Kafka 2.0課程 4 Kafka理論

Kafka特殊名詞解釋 PART 3

ZONGRU Li
Dec 10, 2019

Kafka Broker Discovery

  • 每一個broker皆是bootstrap server
  • 所以只需連接單一個broker,即連結整個broker cluster
  • 每一個broker皆有串通所有的brokers,topics,partitions(metadata)

Zookeeper

  • Zookeeper管理brokers(用list型式儲存)
  • Zookeeper協助指派partition的Leader
  • Zookeeper通知Kafka任何的異動(新topic,broker陣亡,broker恢復,刪除topic,etc…)
  • Kafka一定要有Zookeeper才能運作(Zookeeper要先開機)
  • Zookeeper要保持奇數(1,3,5…)的數量
  • Zookeeper有leader(專門處理寫入),其餘(稱Follower)休息狀態的server則負責讀取
  • Kafka v0.10版的Zookeeper不儲存consumer offset

Kafka Guarabtees

  • 訊息是依據傳送的順序附加在topic-partition上
  • Consumer依據儲存在topic-partition的順序讀取訊息
  • 當有複製係數N,則producer與consumer可允許N-1的brokers掛掉
  • 所以複製係數3是不錯的選擇:

允許一個broker進行維護

另一個broker非預期掛掉

  • 對於一個沒有新partition的topic維持同樣數量的partition,相同的key值將指向同一個partition

參考課程

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet