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