当前位置:   article > 正文

kafka消费者参数设置调优_kafka session.timeout.ms

kafka session.timeout.ms

kafka Consumer 参数设置

1. session.timeout.ms <= coordinator检测失败的时间
  • 默认值是10s
  • 该参数是 Consumer Group 主动检测 (组内成员comsummer)崩溃的时间间隔。若设置10min,那么Consumer Group的管理者(group coordinator)可能需要10分钟才能感受到。太漫长了是吧。
2. max.poll.interval.ms <= 轮询间隔(处理逻辑最大时间)
  • 这个参数是0.10.1.0版本后新增的,可能很多地方看不到喔。这个参数需要根据实际业务处理时间进行设置,一旦Consumer处理不过来,就会被踢出Consumer Group 。
  • 注意:如果业务平均处理逻辑为1分钟,那么max. poll. interval. ms需要设置稍微大于1分钟即可,但是session. timeout. ms可以设置小一点(如10s),用于快速检测Consumer崩溃。
3. auto.offset.reset
  • 该属性指定了消费者在读取一个没有偏移量或者偏移量无效(消费者长时间失效当前的偏移量已经过时并且被删除了)的分区的情况下,应该作何处理,默认值是latest,也就是从最新记录读取数据(消费者启动之后生成的记录),另一个值是earliest,意思是在偏移量无效的情况下,消费者从起始位置开始读取数据。

  • 注意:auto_offset_reset这个参数,只有在一个group第一次运行的时候才有作用,从第二次运行开始,这个参数就失效了。

4. enable.auto.commit 自动提交位移
  • 对于精确到一次的语义,最好手动提交位移
5. fetch.max.bytes
  • 单次获取数据的最大消息数。

6. max.poll.records <= 吞吐量
  • 单次poll调用返回的最大消息数,如果处理逻辑很轻量,可以适当提高该值。
  • 一次从kafka中poll出来的数据条数,max.poll.records条数据需要在在session.timeout.ms这个时间内处理完
  • 默认值为500

  • heartbeat. interval. ms 心跳间隔
  • heartbeat心跳主要用于沟通交流,及时返回请求响应。这个时间间隔真是越快越好。因为一旦出现reblance,那么就会将新的分配方案或者通知重新加入group的命令放进心跳响应中。

  • connection. max. idle. ms <= socket连接
  • kafka会定期的关闭空闲Socket连接。默认是9分钟。如果不在乎这些资源开销,推荐把这些参数值为-1,即不关闭这些空闲连接。

  • request. timeout. ms
  • 这个配置控制一次请求响应的最长等待时间。如果在超时时间内未得到响应,kafka要么重发这条消息,要么超过重试次数的情况下直接置为失败。
  • 消息发送的最长等待时间.需大于session.timeout.ms这个时间

  • fetch.min.bytes
  • server发送到消费端的最小数据,若是不满足这个数值则会等待直到满足指定大小。默认为1表示立即接收。

  • fetch.wait.max.ms
  • 若是不满足fetch.min.bytes时,等待消费端请求的最长等待时间。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/560684
推荐阅读
相关标签
  

闽ICP备14008679号