溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行Apache Kafka 2.7.0加速移除Zookeeper的分析

發(fā)布時間:2021-12-15 10:51:29 來源:億速云 閱讀:185 作者:柒染 欄目:云計算

這篇文章給大家介紹如何進(jìn)行Apache Kafka 2.7.0加速移除Zookeeper的分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

分布式發(fā)布與訂閱系統(tǒng)Apache Kafka社區(qū),發(fā)布了2.7.0這個遲來的版本,該版本的幾個重點更新,包括持續(xù)將Apache Kafka中的ZooKeeper替換掉,加入了新的內(nèi)部代理API,并且增加新的Core Raft共識演算法,現(xiàn)在Apache Kafka中具有單獨包含核心共識協(xié)定的Core Raft模塊。另外,分層儲存的工作也持續(xù)進(jìn)行中,以提供無限擴展和更快達(dá)到重新均衡的能力。

Zookeeper原本是在Apache Kafka中,扮演協(xié)調(diào)代理的角色,所有代理服務(wù)器啟動時,都會連接到Zookeeper進(jìn)行注冊,當(dāng)代理狀態(tài)發(fā)生變化時,Zookeeper便會儲存這些數(shù)據(jù),Kafka的代理會通過Zookeeper與其他代理溝通進(jìn)行同步,也就是說Kafka沒有Zookeeper,也就無法順利運行。

不過,Zookeeper并非Kafka的一部分,因此運行每一個Kafka集群,都必須部署兩套系統(tǒng),這產(chǎn)生了許多問題,包括造成多余資源的耗費,包括更多網(wǎng)路、監(jiān)控功能以及安全性等資源配置,而Kafka集群規(guī)模增加,也就代表Zookeeper必須要跟著擴展,必須使用更多的存取,且Zookeeper作為外部的數(shù)據(jù)儲存服務(wù),當(dāng)數(shù)據(jù)越來越多,使得控制器載入時間越來越長,限制了Kafka集群的規(guī)模擴展。

因此在2019年的時候,Apache Kafka社區(qū)就開始移除Zookeeper的工作,要由Kafka本身提供數(shù)據(jù)管理功能,而Apache Kafka 2.7.0總共有7個更新,與移除Zookeeper工作有關(guān),包括了KIP-497新增內(nèi)部代理API,來替換原本的內(nèi)部同步副本(In-Sync Replica,ISR)。

目前Kafka分區(qū)負(fù)責(zé)程序(Partition Leader)和ISR信息,皆儲存在Zookeeper中,控制器與分區(qū)負(fù)責(zé)程序都可以更新此狀態(tài),但由于任一方都可以更新狀態(tài),也就存在共享信息的機制,而這會使ISR的更新出現(xiàn)延遲,也就代表數(shù)據(jù)請求可能會收到舊信息。

Apache Kafka 2.7.0加入了一個新的AlterIsr API,賦予控制器獨占能力,更新分區(qū)負(fù)責(zé)程序和ISR的狀態(tài),新API的好處是讓數(shù)據(jù)請求,總能獲得最新的狀態(tài)。官方提到,要刪除ZooKeeper,添加此API是重要的一步。

因為Kafka集群的規(guī)模日益增加,用戶需要在Kafka中儲存更多的數(shù)據(jù),因此他們開始引入分層儲存的概念。Kafka的儲存現(xiàn)在分為本地端與遠(yuǎn)端兩層,用戶可以將數(shù)據(jù)在本地暫存之后,丟到遠(yuǎn)端進(jìn)行較長期的儲存,如此,本地端儲存層留存資料的時間,將會從數(shù)天降到數(shù)小時,使用HDFS或S3等儲存系統(tǒng)的遠(yuǎn)端層,就可以將資料留存數(shù)天甚至數(shù)月的時間。

關(guān)于如何進(jìn)行Apache Kafka 2.7.0加速移除Zookeeper的分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI