kafka 消費者消費過程解析

消費者消費過程解析

  1. cousumer 向boker 集羣提交鏈接請求,返回 broker controller 的通訊url
  2. consumer 指定要消費的topic 後, 向broker bontroller提交 消息請求
  3. broker controller 將consumer 分配一個或者多個 partition leader 。而且將對應的parittion的offset 發送給 consumer
  4. consumer 消費完消息後,消費者會向broker 發送一個消息被消費的反饋。也就是提交 該消息的offset
  5. 當broker 接收到 offset 後,會更新到對應的consumer_offset中

重複消費問題

當消費者消費能力較低 而引起了 消費超時的時候,就會造成重複消費。 當時間到達的時候,剛好有一個消息被消費掉了。可是沒有提交offset
。就會出現重複消費的問題url

將自動提交改爲樹洞提交。或者是延遲kafka的 提交時間kafka

消費者提交offset

  • 消費者的offset 具體存放到哪一個partition中?
  • 消費者都會隨機生成一個消費者id 而後取hash。模50 獲得一個下角標。存到對應的offset中。
相關文章
相關標籤/搜索