阻塞队列消费kafka中消息,怎么避免触发rebalance。

談好 发表于: 2020-12-17   最后更新时间: 2020-12-17 18:07:09   1,882 游览

Consumer设置为自动提交offset,间隔(1000),阻塞队列阻塞时,发现触发了rebalance ,不考虑消费时同步提交offset,如果只调整Consumer max.poll.interval.msmax.poll.records如何能避免触发 rebalance ?

发表于 2020-12-17
¥1.0

如果一条消息的处理时长超过了30秒(默认),则会触发rebalance,继续加大耗时,但是业务阻塞时间未知,还是会触发,导致消息丢失。而且加大耗时是很多参数要调,如offsets.commit.timeout.ms,request.timeout.mssession.timeout.ms等。

建议解决方案:

kafka支持动态控制消费的流量,分别在poll(long)中使用pause(Collection)resume(Collection) 来暂停消费指定分配的分区,重新开始消费指定暂停的分区。

你的答案

查看kafka相关的其他问题或提一个您自己的问题