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


























