Apache Kafka 集群架構

2020-10-15 15:57 更新

看看下面的插圖。 它顯示Kafka的集群圖。

Cluster Architecture

下表描述了上圖中顯示的每個組件。

S.No組件和說明
1

Broker(代理)

Kafka集群通常由多個代理組成以保持負載平衡。 Kafka代理是無狀態(tài)的,所以他們使用ZooKeeper來維護它們的集群狀態(tài)。 一個Kafka代理實例可以每秒處理數(shù)十萬次讀取和寫入,每個Broker可以處理TB的消息,而沒有性能影響。 Kafka經紀人領導選舉可以由ZooKeeper完成。

2

ZooKeeper

ZooKeeper用于管理和協(xié)調Kafka代理。 ZooKeeper服務主要用于通知生產者和消費者Kafka系統(tǒng)中存在任何新代理或Kafka系統(tǒng)中代理失敗。 根據Zookeeper接收到關于代理的存在或失敗的通知,然后生產者和消費者采取決定并開始與某些其他代理協(xié)調他們的任務。

3

Producers(生產者

生產者將數(shù)據推送給經紀人。 當新代理啟動時,所有生產者搜索它并自動向該新代理發(fā)送消息。 Kafka生產者不等待來自代理的確認,并且發(fā)送消息的速度與代理可以處理的一樣快。

4

Consumers(消費者

因為Kafka代理是無狀態(tài)的,這意味著消費者必須通過使用分區(qū)偏移來維護已經消耗了多少消息。 如果消費者確認特定的消息偏移,則意味著消費者已經消費了所有先前的消息。 消費者向代理發(fā)出異步拉取請求,以具有準備好消耗的字節(jié)緩沖區(qū)。 消費者可以簡單地通過提供偏移值來快退或跳到分區(qū)中的任何點。 消費者偏移值由ZooKeeper通知。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號