本入門教程,涵蓋Kafka核心內容,通過實例和大量圖表,幫助學習者理解,任何問題歡迎留言。
目錄:
本章簡單介紹了副本管理器,副本管理器負責分區及其副本的管理。副本管理器具體的工作流程可以參考牟大恩所著的《Kafka入門與實踐》。
副本機制使得kafka整個集羣中,只要有一個代理存活,就可以保證集羣正常運行。這大大提高了Kafka的可靠性和穩定性。
Kafka中代理的存活,需要滿足以下兩個條件:
滿足以上條件的節點在ISR中,一旦宕機,或者中斷時間太長,Leader就會把同步副本從ISR中踢出。
所有節點中,leader節點負責接收客戶端的讀寫操作,follower節點從leader複製數據。
副本管理器負責對副本管理。由於副本是分區的副本,所以對副本的管理體現在對分區的管理。
在第三章已經對分區和副本有了詳細的講解,這裏再介紹兩個重要的概念,LEO和HW。
看下圖:
分區test-0有三個副本,每個副本的LEO就是自己最後一條消息的offset。可以看到最小的LEO是Replica2的,等於3,也就是說HW=3。這代表offset=4的消息還沒有被所有副本複製,是無法被消費的。而offset<=3的數據已經被所有副本複製,是可以被消費的。
副本管理器所承擔的職責如下:
再此就不再一一講解了,詳情可以參考牟大恩所著的《Kafka入門與實踐》。