当前位置:   article > 正文

Kafka控制拉取频率和请求超时时间_kafka拉取消息频率

kafka拉取消息频率

Kafka控制拉取频率和请求超时时间


背景

当Kafka消费者一次拉取接收数据过多时,会出现消费过慢超过默认超时时间,导致消费积压,消费者心跳过期,离开消费组从而失去该消费组消费数据的情况。


解决方案

  1. 减少单次拉取消息条数,增加最大拉取间隔时间。

    消费者配置中,减少单次拉取消息条数max.poll.records,增加获取消息后提交偏移量的最大时间max.poll.interval.ms

    max.poll.records默认较大,容易产生消费积压导致超过设定的时间(默认5分钟),服务端会认为该消费者失效。

  2. 增加超时时间。

    消费者配置中,增加超时时间session.timeout.ms

    session.timeout.ms是心跳检测时间,kafka消费者默认3秒发送一次心跳,若服务端在session.timeout.ms内未检测心跳,会认为该消费者失效。

  3. 调整发送心跳时间

    消费者配置中,调整发送心跳时间heartbeat.interval.ms

    当使用 Kafka 的分组管理功能时,心跳到消费者协调器之间的预计时间。心跳用于确保消费者的会话保持活动状态,当有新消费者加入或离开组时方便重新平衡。该值必须比 session.timeout.ms 小,通常不高于1/3。它可以调整得更低,以控制正常重新平衡的预期时间。

控制拉取频率

消费者配置中,auto.commit.interval.ms属性控制拉取频率。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/560693
推荐阅读
相关标签
  

闽ICP备14008679号