1. 程式人生 > >Kafka分區原理圖

Kafka分區原理圖

log part img off server mage offset 消息發布 art

一個Topic的多個分區,被分布在kafka集群中的多個server上。每個分區都有一個server為"leader";leader負責所有的讀寫操作,如果leader失效,那麽將會有其他follower來接管(成為新的leader);follower只是單調的和leader 跟進,同步消息即可。由此可見作為leader的server承載了全部的請求壓力,因此從集群的整體考慮,有多少個partitions就意味著有多 少個"leader",kafka會將"leader"均衡的分散在每個實例上,來確保整體的性能穩定。

具體流程:
1. Producer根據指定的partition方法,將消息發布到指定topic的partition裏面

2. kafka集群接收到Producer發過來的消息後,將其持久化到硬盤

3.Consumer從kafka集群pull數據,並控制獲取消息的offset

技術分享

Kafka分區原理圖