分布式發布與訂閱系統Apache Kafka在即將發布的2.8版本,使用Kafka內部的Quorum控制器來取代ZooKeeper,因此用戶第一次可在完全不需要ZooKeeper的情況下執行Kafka,這不只節省運算資源,并且也使得Kafka效能更好,還可支持規模更大的集群。
過去Apache ZooKeeper是Kafka這類分布式系統的關鍵,ZooKeeper扮演協調代理的角色,所有代理服務器啟動時,都會連接到Zookeeper進行注冊,當代理狀態發生變化時,Zookeeper也會儲存這些數據,在過去,ZooKeeper是一個強大的工具,但是畢竟ZooKeeper是一個獨立的軟件,使得Kafka整個系統變得復雜,因此官方決定使用內部Quorum控制器來取代ZooKeeper。
這項工作從去年4月開始,而現在這項工作取得部分成果,用戶將可以在2.8版本,在沒有ZooKeeper的情況下執行Kafka,官方稱這項功能為Kafka Raft元數據模式(KRaft)。在KRaft模式,過去由Kafka控制器和ZooKeeper所操作的元數據,將合并到這個新的Quorum控制器,并且在Kafka集群內部執行,當然,如果使用者有特殊使用情境,Quorum控制器也可以在專用的硬件上執行。
KRaft協定使用事件驅動機制來追蹤整個集群的元數據,過去必須依賴RPC來處理的任務,現在受益于事件驅動以及實際的日志傳輸,這些改變所帶來的好處,便是讓Kafka仍夠支持更多的分割。
過去Kafka因為帶著ZooKeeper,因此被認為擁有笨重的基礎設施,而在移除ZooKeeper之后,Kafka更輕巧更適用于小規模工作負載,輕量級單體程序適合用于邊緣以及輕量級硬件解決方案。
值得注意的是,在搶先體驗版中,有部分像是ACL、安全以及交易等功能都尚未支持,而且在KRaft模式下,也還不支持重新分配分割和JBOD,官方提到,這些功能會在今年稍晚的版本中提供,由于很多功能處于測試階段,不建議大家將其用于生產環境中。
參考:https://www.confluent.io/blog/kafka-without-zookeeper-a-sneak-peek/https://www.ithome.com.tw/news/143569
編輯:jq
-
控制器
+關注
關注
112文章
16332瀏覽量
177812 -
RPC
+關注
關注
0文章
111瀏覽量
11529 -
ACL
+關注
關注
0文章
61瀏覽量
11976 -
zookeeper
+關注
關注
0文章
33瀏覽量
3670
原文標題:Kafka 2.8獨立運行,不再需要ZooKeeper
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論