问题原因
kafka的生产者产生了大量的消息,而消费者由于需要不断与数据库交互导致在指定的时间内一直无法完成对消息的消费,导致broker堆积了大量的消息,时间久了broker认为一直消费超时的consumer挂掉了,从而启动了rebanlance。
解决方法
- 消费者引入线程池来消费消息,这样可以提高消费效率。
- 调整消费者每次poll消息的数量,max.poll.records默认为500,可以改成50,具体数据看业务场景。
版权声明:本文为weixin_44483048原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。