Kafka消費者如何控制消費速度


消費太慢

考慮增加Topic的分區數,並且同時提升消費組的消費者數量,消費者數=分區數。(兩者缺一不可)

消費太快

參考來源:https://blog.csdn.net/weixin_33797791/article/details/88003844?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.nonecase

調整參數:

  • fetch.max.bytes
  • 單次獲取數據的最大消息數。

----------------------------------------------------------------

  • max.poll.records <= 吞吐量
  • 單次poll調用返回的最大消息數,如果處理邏輯很輕量,可以適當提高該值。
  • 一次從kafka中poll出來的數據條數,max.poll.records條數據需要在在session.timeout.ms這個時間內處理完
  • 默認值為500

----------------------------------------------------------------

  • consumer.poll(1000) 重要參數
  • 新版本的Consumer的Poll方法使用了類似於Select I/O機制,因此所有相關事件(包括reblance,消息獲取等)都發生在一個事件循環之中。
  • 1000是一個超時時間,一旦拿到足夠多的數據(參數設置),consumer.poll(1000)會立即返回 ConsumerRecords<String, String> records。
  • 如果沒有拿到足夠多的數據,會阻塞1000ms,但不會超過1000ms就會返回。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM