1

我已經使用Spring卡夫卡創造了卡夫卡消費者和Cloud Foundry中部署它。該主題有10個分區。我正計劃將應用擴展到10個實例,以便每個實例都可以使用來自一個分區的消息。 Spring Kafka支持併發消息監聽器容器,我猜支持創建多個線程從每個分區消耗。因此,舉例來說,如果我有5個消費者實例,每個消費者實例可能有2個線程從分區中消耗。由於我無論如何計劃爲每個分區創建1個應用程序實例,因此使用併發消費者有什麼優勢嗎?春天卡夫卡消費者 - 並行聽衆與非併發聽衆雲

由於我的首要任務是主題中的信息的快速處理,我想提供了1個應用實例的每個分區將給予足夠的資源對每個分區中的信息進行處理。

回答

1

這是正確的,你只需要擁有10單線程的消費者同樣的消​​費小組。由於您有10個分區,卡夫卡的重新平衡機制將在您的10個實例之間分配它們。

在該容器中的併發性將是不必要的。考慮使用KafkaMessageListenerContainer來代替。

+0

謝謝!當我的容器逐一啓動時,Kafka會自動重新平衡嗎? –

+0

這是正確的,但可以肯定的是所有的都連接到同一卡夫卡集羣 –

+0

我有多個經紀人和我已經提供了一個逗號分隔的引導服務器上市。這是否符合集羣的要求? –