kafka多執行緒消費topic的問題

2022-08-25 19:36:22 字數 1138 閱讀 7600

案例:

topic:my-topic,分割槽:6

消費者:部署三颱機器,每台機器上面開啟6個執行緒消費。

消費結果:只有一台機器可以正常消費,另外兩台機器直接輸出六條告警日誌:

no broker partitions consumed by consumer thread my-topic-group_adfc6be4a509-1496976531798-d70f9a43-3 for topic my-topic

no broker partitions consumed by consumer thread my-topic-group_adfc6be4a509-1496976531798-d70f9a43-1 for topic my-topic

no broker partitions consumed by consumer thread my-topic-group_adfc6be4a509-1496976531798-d70f9a43-2 for topic my-topic

no broker partitions consumed by consumer thread my-topic-group_adfc6be4a509-1496976531798-d70f9a43-4 for topic my-topic

no broker partitions consumed by consumer thread my-topic-group_adfc6be4a509-1496976531798-d70f9a43-6 for topic my-topic

no broker partitions consumed by consumer thread my-topic-group_adfc6be4a509-1496976531798-d70f9a43-5 for topic my-topic

在原始碼分析之前,先給個圖示吧,花了兩個小時才畫完。

原始碼分析:

for (topic }}

}

結果:topic裡面的每個partition只會由乙個執行緒消費,在分配的時候就已經指定好,如果有消費者執行緒加入或者退出,則會重新開始分配。

kafka 多執行緒消費

一 1 kafka的消費並行度依賴topic配置的分割槽數,如分割槽數為10,那麼最多10臺機器來並行消費 每台機器只能開啟乙個執行緒 或者一台機器消費 10個執行緒並行消費 即消費並行度和分割槽數一致。2 1 如果指定了某個分割槽,會只講訊息發到這個分割槽上 2 如果同時指定了某個分割槽和key,...

kafka消費之kafka檢視topic是否有資料

配置config檔案為 server.properties 指令碼在 kafka bin路徑下 啟動kafka kafka server start.sh config server.properties 1 dev null 2 1 kafka server start.sh檢視已建立的topic...

kafka直連方式消費多個topic

乙個消費者組可以消費多個topic,以前寫過一篇乙個消費者消費乙個topic的,這次的是乙個消費者組通過直連方式消費多個topic,做了小測試,結果是正確的,通過檢視zookeeper的客戶端,zookeeper記錄了偏移量 package day04 消費多個topic import kafka....