zookeeper在kafka中的作用

  1. 在Kakfa中扮演的角色
    Kafka將元數(shù)據(jù)信息保存在Zookeeper中,但是發(fā)送給Topic本身的數(shù)據(jù)是不會發(fā)到Zk上的,否則Zk就瘋了。kafka使用zookeeper來實現(xiàn)動態(tài)的集群擴(kuò)展,不需要更改客戶端(producer和consumer)的配置。broker會在zookeeper注冊并保持相關(guān)的元數(shù)據(jù)(topic,partition信息等)更新。而客戶端會在zookeeper上注冊相關(guān)的watcher。一旦zookeeper發(fā)生變化,客戶端能及時感知并作出相應(yīng)調(diào)整。這樣就保證了添加或去除broker時,各broker間仍能自動實現(xiàn)負(fù)載均衡。這里的客戶端指的是Kafka的消息生產(chǎn)端(Producer)和消息消費端(Consumer)Producer端使用zookeeper用來"發(fā)現(xiàn)"broker列表,以及和Topic下每個partition的leader建立socket連接并發(fā)送消息。也就是說每個Topic的partition是由Lead角色的Broker端使用zookeeper來注冊broker信息,以及監(jiān)測partition leader存活性.Consumer端使用zookeeper用來注冊consumer信息,其中包括consumer消費的partition列表等,同時也用來發(fā)現(xiàn)broker列表,并和partition leader建立socket連接,并獲取消息.

  2. zookeeper中信息

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容