返回到文章

采纳

编辑于 4年前

如果通过心跳判断消费者没有死,但是pull间隔超过了max.poll.interval.ms,broker会将此消费者移除么?

kafka

kafka版本:0.10.2.1

业务有这种场景:处理一条消息需要花费1h-1d的时间,所以pull间隔必定超过max.poll.interval.ms。但是从0.10.1版本开始session.timeout.ms 和 max.poll.interval.ms 解耦了,是两个独立的线程,不需要在处理完消息之后再发送心跳,这样就避免了处理时间太长导致的移除问题。

但是发现还是频繁的发生reblance,怀疑是pull间隔超过了max.poll.interval.ms导致的,如果事实如此的话改怎么设置参数既能改善reblance的情况,又能保证group内消费者的健康呢?是不是将max.poll.interval.ms设置成一天就可以呢?