簡體   English   中英

允許不同消費者使用同一主題的Kafka消息

[英]Allow consumption of same message by different consumers from a Kafka topic

我有3個消費者訂閱了Kafka主題。 生產者向主題發布1條消息。

如何確定郵件在Kafka內部復制,然后由所有3個使用者使用?

一種方法是不提交消息,但隨后消息將繼續堆積在主題中。

Kafka從不復制郵件。 該消息將始終僅路由到主題/分區一次。

但是,Kafka使用消費者群體的概念來區分不同的消費者群體,並決定他們應該如何接收消息。 對於您的情況,您必須為每個消費者分配不同的消費者組ID。 然后,他們將開始並行接收消息。

同樣,在使用者使用它們后,卡夫卡中的消息也永遠不會被刪除。 它們將存儲在主題/分區中,直到達到保留限制為止,該限制可以基於時間(例如,將郵件保留一周),也可以基於主題大小(例如,將郵件保留至最大100GB)。

您唯一要做的就是為每個使用者分配不同的組ID

您應該為3個消費者設置3個不同的消費者組 (具有不同的ID)。

消費者使用消費者組名稱標記自己,並且發布到主題的每條記錄都會傳遞到每個訂閱消費者組中的一個消費者實例。 使用者實例可以在單獨的進程中或在單獨的機器上。

如果所有使用者實例都具有相同的使用者組,那么將在這些使用者實例上有效地平衡記錄。

如果所有使用者實例具有不同的使用者組,則每條記錄將廣播到所有使用者進程。

來自https://kafka.apache.org/documentation/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM