我正在爲我們的應用程序實施基於卡夫卡的解決方案。 根據Kafka文檔,我瞭解的是消費者組中的一個消費者(它是一個線程)內部映射到訂閱主題中的一個分區。卡夫卡:多個實例中的單一消費羣體
比方說,我有一個主題與40個分區,我有一個高級消費者運行在4個實例。我不希望一個實例消耗另一個實例消耗的相同消息。但是如果有一個實例出現故障,其他三個實例應該能夠處理所有消息。
- 我應該去同一個消費者組,每個實例有10個線程嗎? - 說#2實例之間相同的消費羣體作爲傳統的同步隊列機制
In Apache Kafka why can't there be more consumer instances than partitions?
- 或者我應該去爲每個實例不同的消費羣?
使用簡單的消費或低層次的消費使控制的分區,但這時如果一個實例出現故障時,其他三個實例不會處理從一審消耗的分區
感謝您的解釋。所以我認爲我應該爲我的用例選擇第一個選項。如果分區增加,我們最終應該增加消費者線程的數量 – Sudharsan
是的。但試着確保你的消費者線程不超過第3點所述的分區。 –
@DaniccanVP根據答案#1,是否有可能讓多個消費者以序列化的方式處理消息。即如果一個消息正在被一個實例處理,另一個消息應該等待。這是高可用性原因所必需的。 – TechEnthusiast