一、消费者组初始化流程图解
-
每个consumer都发送JoinGroup请求,如下图所示:
-
选出一个consumer作为leader,如下图所示:
-
把要消费的topic情况发送给leader 消费者,如下图所示:
-
leader会负责制定消费方案,并把消费方案发给coordinator,如下图所示:
-
Coordinator就把消费方案下发给各个consumer,如下图所示:
-
每个消费者都会和coordinator保持心跳(默认3s),一旦超时(session.timeout.ms=45s),该消费者会被移除,并触发再平衡;或者消费者处理消息的时间过长(max.poll.interval.ms5分钟),也会触发再平衡,如下图所示: