為什么 Apache Kafka 要放棄 ZooKeeper ?
譯文對于領(lǐng)先的分布式事件流平臺Apache Kafka的用戶來說,變化即將到來。Kafka的元數(shù)據(jù)管理工具Apache ZooKeeper將很快被淘汰,取而代之的是內(nèi)部技術(shù)。
Apache Kafka項目管理委員會成員、利用Kafka的Confluent公司工程師Colin McCabe解釋了這一變化的原因。他說,ZooKeeper存儲持久的集群元數(shù)據(jù),處理維護動態(tài)配置和主題,以及主題內(nèi)的分區(qū)。但ZooKeeper增加了一個額外的管理層次。McCabe說,在Kafka內(nèi)部存儲元數(shù)據(jù)將使管理更容易,并能更好地保證版本等問題。
Kafka Raft,即KRaft,是一種內(nèi)部管理元數(shù)據(jù)的協(xié)議,將取代ZooKeeper。在KRaft模式下,Kafka元數(shù)據(jù)將被存儲在一個分布式日志中。McCabe說,可擴展性將是主要的好處,但管理也會改善。Kafka用戶將不再需要部署一個單獨的系統(tǒng)來管理他們的Kafka集群。
目前還不清楚ZooKeeper具體何時退役,但預(yù)計在未來一兩周內(nèi)會對時間表進行投票。目前的建議是在即將發(fā)布的Kafka 3.3中宣布KRaft普遍可用。ZooKeeper將在之后的版本中被廢棄,并在Kafka 4.0中移除。
Kafka 3.3預(yù)計在8月發(fā)布,將包括ZooKeeper和KRaft兩個選項。ZooKeeper的終結(jié)日期還未確定。"McCabe說:"KRaft模式很快就會進入生產(chǎn)階段,今年很快。"這將是該項目向前邁出的一大步。"
目前,Kafka開發(fā)人員正在努力實現(xiàn)KRaft和ZooKeeper之間的全功能對等,據(jù)說這一點正在接近。KRaft模式實際上從2021年4月發(fā)布的Kafka 2.8開始就有了,但不是生產(chǎn)就緒狀態(tài);Kafka 3.3將是第一個生產(chǎn)就緒版本。對于習慣了ZooKeeper的開發(fā)者來說,McCabe預(yù)計在轉(zhuǎn)移到KRaft時不會有陡峭的學習曲線。對開發(fā)者來說,同樣的API被支持,但操作者可能有一些東西需要學習。"我們的希望是,新的管理員實際上會發(fā)現(xiàn)這更容易,而現(xiàn)有的管理員會發(fā)現(xiàn)過渡是可控的。"
Confluent認為ZooKeeper的廢棄是Kafka社區(qū)的一個重要舉措,Kafka的聯(lián)合創(chuàng)建者和Confluent的聯(lián)合創(chuàng)始人Jun Rao(饒軍)說。"它使部署/操作變得更加簡單,并且由于更有效地處理元數(shù)據(jù),可擴展性提高了10倍。我們很高興與社區(qū)合作開展這項工作,并希望它很快就能投入生產(chǎn)。"
原標題:??Why Apache Kafka is dropping ZooKeeper??
原作者:Paul Krill