Kafka系统的组件、角色以及和zookeeper的关系
broker: 每個正在運行的kafka節點,部署kafka的服務器, 以broker.id來區分
producer:消息生產者
consumer:消息的消費者
consumer group:消費者組,同一個消費者組只能有一個consumer能消費消息
topic:主題, 主題中的每條消息包括key-value和timestamp。可以定義多個topic,每個topic又可以劃分為多個分區
partition:topic下的消息分區,通過key取哈希后把消息映射分發到一個指定的分區,每個分區都映射到broker上的一個目錄。一般每個分區存儲在一個broker上
replica:副本, 每個分區按照生產者的消息達到順序存放。每個分區副本都有一個leader
leader replica:leader角色的分區副本,leader角色的分區處理消息的讀寫請求. Leader和follower位于不同的broker.
follower replica:follower角色的分區副本,負責從Leader拉取數據到本地,實現分區副本的創建
?
1.kafka為什么用到zookeeper?
(1)Kafka集群通過Zookeeper來管理kafka的配置,選舉leader;
(2)在Consumer Group發生變化時進行rebalance
(3)所有的topic與broker的對應關系都由zk維護
2.kafka的哪些組件需要注冊到zookeeper?
(1)Broker注冊到zk
(2)Topic注冊到zk
(3)Consumer注冊到zk
? ? ? ? ?producer(生產者)不注冊到zookeeper是因為生產者的狀態是瞬間狀態,發送完消息就可以宕機了。
3.kafka和zookeeper的理解
? ? ? ? kafka使用zookeeper來實現動態的集群擴展,不需要更改客戶端(producer和consumer)的配置。broker會在zookeeper注冊并保持相關的元數據(topic,partition信息等)更新。但是發送給Topic本身的數據是不會發到Zk上的。
總結
以上是生活随笔為你收集整理的Kafka系统的组件、角色以及和zookeeper的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大润发优鲜怎么用购物卡支付
- 下一篇: 硬辅助和软辅助的区别 脆和硬的区别