参考地址 解决方案
解决方案 1.增加max.poll.interval.ms处理时长 kafka消费者默认此间隔时长为300s
max.poll.interval.ms=300
2.设置分区拉取阈值 kafkaConsumer调用一次轮询方法只是拉取一次消息。客户端为了不断拉取消息,会用一个外部循环不断调用轮询方法poll()。每次轮询后,在处理完这一批消息后,才会继续下一次的轮询。
max.poll.records = 50
3.poll到的消息,处理完一条就提交一条,当出现提交失败时,马上跳出循环,这时候kafka就会进行rebalance,下一次会继续从当前offset进行消费。
while (isRunning) {
ConsumerRecords<KEY, VALUE> records = consumer.poll(100);
if (reco