簡體   English   中英

kafka 消費者從單個分區向消費者分發消息 | 選擇

[英]kafka consumer distribute messages to consumers from a single partition | Alternative

我有四個應用程序實例在一個集群下運行,這意味着我在一個消費者組下有四個消費者。 將有一個包含 100 個分區的主題。 現在我需要使用所有四個消費者從特定分區讀取唯一消息。 基本上我需要將來自特定分區的消息分發給這四個消費者。 如果我使用訂閱,那么我無法控制從特定分區讀取它,如果我使用分配,那么我將在所有四個消費者中收到相同的消息。

我同意通過 Kafka 是不可能的,碰巧有任何替代解決方案可以實現同樣的目標。

正如您已經提到的,不可能“將消息從特定分區分發到這四個消費者”,因為一個 Kafka 分區最多只能被一個消費者組的一個消費者消費。

Kafka文檔中給出了參考:“這是通過將主題中的分區分配給消費者組中的消費者來實現的,這樣每個分區都被組中的一個消費者消費。”

作為替代方案,我建議執行以下操作:讓您的 KafkaProducer 將感興趣的數據生成到一個單獨的主題中,該主題具有您喜歡的多個分區(以增加吞吐量)。 然后有一個專用應用程序,其中消費者線程的數量與該主題的分區相匹配,並從那里處理數據。

暫無
暫無

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

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