我们最近看到一些生产问题,当消费者离开集团时,消费者群体需要几分钟才能重新平衡。
这个特定的消费者群体在任何给定时间都有大约8-10个消费者成员,并且订阅了大约15个主题,每个主题有32个分区。
基本上试图找出我们应该做什么才能使重新平衡花费更少的时间。 (例如,我们是否尝试减少每组的消费者数量?减少每个主题的分区数量等等)
答案 0 :(得分:0)
从Kafka0.10.1开始,有两个影响重新平衡的配置:session.timeout.ms
和max.poll.interval.ms
。
将session.timeout.ms
设置为相对较低的值可使协调器更快地检测到故障并及时触发重新平衡。
将max.poll.interval.ms
设置为相对较低的值意味着重新平衡通常会快速完成,但是提交失败的风险会增加,这是一种权衡。
答案 1 :(得分:0)
好吧,经过重大的试验和错误后发现重新平衡时间的最大因素是总话题数量和数量。给定使用者组试图订阅的分区。
我们有一个消费者群体,基本涵盖了大约200个分区,涵盖20个左右的主题。通过改变我们的投票策略等,我们能够按照主题转移到消费者群体,并且时间大幅度下降。