[英]kafka multiple consumer groups
我有多個消費者組,每個消費者組有1個消費者。
假設主題T1和分區P1和2消費者組CG1和CG2 CG1有1個消費者-CG1#C1,相應地CG2有CG2#C1
現在,根據設計,我們正在多個消費者群體中收到相同的消息。
我的問題是,Kafka如何保持多個消費者群體之間的抵銷。 如果1個消費者組關閉了幾分鍾,然后備份了它,那么它將如何從最近一次提交的讀取中獲取消息。 CG1在偏移量24中且CG2'在下降之前一直提交到偏移量10。因此,當CG2上升時,它將如何從偏移量11開始,並且CG1不受影響。
默認情況下,偏移量存儲在名為__consumer_offsets
的特殊主題中。 這是一個壓縮的主題 ,其中偏移量以消息的形式存儲,消息包含一個包含主題,分區和使用者組的鍵。 因此,不同消費者群體的抵消額是獨立的。 希望這能回答您的問題。 有關如何精確處理此問題的更多信息,可以在這里查看: http : //kafka.apache.org/documentation/#impl_offsettracking
消費者群體是獨立的實體。 如果不同消費者組中的消費者訂閱相同的kafka主題,則膠印管理之間不會有任何沖突。 每個消費者組將在__consumer_offsets
主題中維護自己的偏移量(這是管理消費者偏移量的緊湊內部主題)
Kafka提供了一個選項,可以將給定消費者組的所有抵銷存儲在一個名為“抵銷管理器”的指定經紀人(針對該組)中。 每當使用者從分區讀取消息時,它將偏移提交請求發送到偏移管理器。 一旦提交請求被接受,使用者就可以讀取下一個偏移量。
在偏移提交失敗的情況下,使用者重試提交。 每個偏移提交都在每個分區中維護。
這是詳細的說明: http : //kafka.apache.org/documentation/#impl_offsettracking
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.