這篇文章給大家介紹如何進(jìn)行Apache Kafka 2.7.0加速移除Zookeeper的分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
分布式發(fā)布與訂閱系統(tǒng)Apache Kafka社區(qū),發(fā)布了2.7.0這個(gè)遲來(lái)的版本,該版本的幾個(gè)重點(diǎn)更新,包括持續(xù)將Apache Kafka中的ZooKeeper替換掉,加入了新的內(nèi)部代理API,并且增加新的Core Raft共識(shí)演算法,現(xiàn)在Apache Kafka中具有單獨(dú)包含核心共識(shí)協(xié)定的Core Raft模塊。另外,分層儲(chǔ)存的工作也持續(xù)進(jìn)行中,以提供無(wú)限擴(kuò)展和更快達(dá)到重新均衡的能力。
Zookeeper原本是在Apache Kafka中,扮演協(xié)調(diào)代理的角色,所有代理服務(wù)器啟動(dòng)時(shí),都會(huì)連接到Zookeeper進(jìn)行注冊(cè),當(dāng)代理狀態(tài)發(fā)生變化時(shí),Zookeeper便會(huì)儲(chǔ)存這些數(shù)據(jù),Kafka的代理會(huì)通過(guò)Zookeeper與其他代理溝通進(jìn)行同步,也就是說(shuō)Kafka沒(méi)有Zookeeper,也就無(wú)法順利運(yùn)行。
不過(guò),Zookeeper并非Kafka的一部分,因此運(yùn)行每一個(gè)Kafka集群,都必須部署兩套系統(tǒng),這產(chǎn)生了許多問(wèn)題,包括造成多余資源的耗費(fèi),包括更多網(wǎng)路、監(jiān)控功能以及安全性等資源配置,而Kafka集群規(guī)模增加,也就代表Zookeeper必須要跟著擴(kuò)展,必須使用更多的存取,且Zookeeper作為外部的數(shù)據(jù)儲(chǔ)存服務(wù),當(dāng)數(shù)據(jù)越來(lái)越多,使得控制器載入時(shí)間越來(lái)越長(zhǎng),限制了Kafka集群的規(guī)模擴(kuò)展。
因此在2019年的時(shí)候,Apache Kafka社區(qū)就開(kāi)始移除Zookeeper的工作,要由Kafka本身提供數(shù)據(jù)管理功能,而Apache Kafka 2.7.0總共有7個(gè)更新,與移除Zookeeper工作有關(guān),包括了KIP-497新增內(nèi)部代理API,來(lái)替換原本的內(nèi)部同步副本(In-Sync Replica,ISR)。
目前Kafka分區(qū)負(fù)責(zé)程序(Partition Leader)和ISR信息,皆?xún)?chǔ)存在Zookeeper中,控制器與分區(qū)負(fù)責(zé)程序都可以更新此狀態(tài),但由于任一方都可以更新?tīng)顟B(tài),也就存在共享信息的機(jī)制,而這會(huì)使ISR的更新出現(xiàn)延遲,也就代表數(shù)據(jù)請(qǐng)求可能會(huì)收到舊信息。
Apache Kafka 2.7.0加入了一個(gè)新的AlterIsr API,賦予控制器獨(dú)占能力,更新分區(qū)負(fù)責(zé)程序和ISR的狀態(tài),新API的好處是讓數(shù)據(jù)請(qǐng)求,總能獲得最新的狀態(tài)。官方提到,要?jiǎng)h除ZooKeeper,添加此API是重要的一步。
因?yàn)镵afka集群的規(guī)模日益增加,用戶需要在Kafka中儲(chǔ)存更多的數(shù)據(jù),因此他們開(kāi)始引入分層儲(chǔ)存的概念。Kafka的儲(chǔ)存現(xiàn)在分為本地端與遠(yuǎn)端兩層,用戶可以將數(shù)據(jù)在本地暫存之后,丟到遠(yuǎn)端進(jìn)行較長(zhǎng)期的儲(chǔ)存,如此,本地端儲(chǔ)存層留存資料的時(shí)間,將會(huì)從數(shù)天降到數(shù)小時(shí),使用HDFS或S3等儲(chǔ)存系統(tǒng)的遠(yuǎn)端層,就可以將資料留存數(shù)天甚至數(shù)月的時(shí)間。
關(guān)于如何進(jìn)行Apache Kafka 2.7.0加速移除Zookeeper的分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁(yè)題目:如何進(jìn)行ApacheKafka2.7.0加速移除Zookeeper的分析
標(biāo)題網(wǎng)址:http://chinadenli.net/article2/cjpoic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、面包屑導(dǎo)航、網(wǎng)站改版、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)