2017-04-06 179 views
0

我是卡夫卡的新手。我瀏覽了Kafka文檔。看起來分派給訂閱用戶組的消息是通過將分區與消費者實例綁定來實現的。當我們與Apache卡夫卡的工作,我們應該記住Kafka關於消費羣體的問題

一個重要的事情是消費者的同一消費羣體的數量應小於或等於消耗的主題分區的數量。否則,超出的消費者將不會收到該主題的任何消息。

在非生產環境中,我沒有配置主題分區。在這種情況下,卡夫卡是否只有一個分區?如果我啓動了多個共享相同組的消費者並訂閱它們到該主題,那麼該消息是否總是被分派到組中的同一個實例?換句話說,我必須劃分主題以獲得消費者組中的負載平衡功能?

謝謝!

回答

2

你是絕對正確的。一個分區不能以並行方式處理(由一個消費者組織處理)。您可以將分區視爲原子,並且不能分割。

如果您將non-prod和prod env配置爲每個主題具有相同數量的分區,那麼應該可以幫助您在轉移到prod之前找到正確數量的conumser並捕獲問題。