如課程 3內理論,consumer可以屬於某個group內
且 一個goup內的一個consumer只讀取獨立完整的patition
透過console-consumer指令可以知道如何呼叫出特定group內的consumer
以下用同一個group id來呼叫出console-consumer
kafka-console-consumer --bootstrap-server 127.0.0.1:9092 --topic first_topic --group my-first-app
下面多傳些不同訊息:
其中上述的group id可以自行指定(如上我都叫my-first-app)
接著再開第三個consumer(還是一樣的group id)
右邊producer開始輸入message
基本上流量會有自動控制
當關閉最上面的consumer
其中多出來的partition會自動分給剩餘的consumer其中一個
接著關掉全部的consumer:
接著再起一個新group id的consumer,並帶著from-beginning
試著將上述group id的consumer結束
並用同樣group id在一次看from-beginning的訊息
因為第一次透過group id:my-another-app執行from-beginning後
會offset訊息,表示這個group id已經拿到舊有的(25條)全部訊息了
再次結束該consumer並在次執行並不帶from-beginning
再次結束該consumer
在producer趁consumer關閉時隨意打訊息
接著重啟consumer(group id是上面my-another-app)
有以上認知,就算是對consumer有不錯的瞭解了!