kafka 不同topic 相同groupid ,會造成rebalance


在反復的調試過程中,我意識到這兩個consumer反復重新加入group中,而他們的group是同一個,猜測是兩個consumer使用同一個groupid導致,相互影響。在分別為兩個consumer指定了單獨的groupid之后,異常的情況沒有再出現。

基於這種現象,查詢了一些資料,在一篇blog中找到了比較詳細的講解

https://olnrao.wordpress.com/2015/05/15/apache-kafka-case-of-mysterious-rebalances/

文章中提到,消費者在zookeeper中注冊中,消費者注冊標識符(Consumer Identifiers Registry)是保存在zookeeper的/consumers/[group_id]/ids/[consumer_connector_id]的路徑下,這些消費者注冊節點形成一棵樹,當有消費者加入或離開時,樹上所有的消費者都會被通知到,從而進行rebanlance。

消費者在zookeeper注冊的路徑與topic並沒有關系,反而與groupid綁定,這是因為同一個consumer可以消費不同的topic。如果不同的consumer使用同一個groupid消費不同的topic,而任何一個topic的consumer出現加入或離開等變化時,所有groupid組里的consumer都會發生rebanlance。從而可能導致上面調試時出現的問題。

所以kafka 不同的consumer需要使用不同的group id,以減小相互之間的影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM