GroupCoordinator status

kafka1.0 - GroupCoordinator status

PreparingRebalance 消费者正在进行rebalance操作

AwaitingSync 消费者组正在等待Group Leader将分区分配结果发送到GroupCoordinator

Stable 消费者组处于正常状态

Dead 消费者组中已经没有消费者

Empty

PreparingRebalance状态

当消费者处于PreparingRebalance状态,GroupCoordinator可以正常处理OffsetFetchRequest,ListGroupRequest,OffsetCommitRequest请求;
但是对于HeartbeatRequest和SyncGroupRequest,则会在其响应里携带REBALANCE_IN_PROGRESS错误码进行标识;当收到JoinGroup
Request的时候会先创建对应的DelayedJoin,等待满足条件后对其响应。

PreparingRebalance -> AwaitingSync: 当有DelayedJoin超时或是消费者组之前的成员(消费者)都已经重新申请加入时进行切换
PreparingRebalance -> Empty: 当所有消费者都离开消费者组时候切换
PreparingRebalance -> Dead:分区迁移的时候删除消费者组

AwaitingSync状态

表示消费者组正在等待Group Leader的SyncGroupRequest请求时,当GroupCoordinator收到OffsetCommitRequest和HeartbeatRequest时候,会在响应中添加REBALANCE_IN_PROGRESS错误码进行标识,对于来自follower的SyncGroupRequest则直接抛弃,直到收到Group Leader的SyncGroupRequest

AwaitingSync -> Stable: 当GroupCoordinator收到Group Leader发来的SyncGroupRequest时进行切换
AwaitingSync -> PreparingRebalance: 有消费者加入或者退出消费者组;消费者组中有消费者心跳超时;已知成员更新元数据
AwaitingSync -> Dead: 分区迁移的时候删除消费者组

Stable状态

该状态下,GroupCoordinator可以处理所有的请求,例如:Offset,FetchRequest,HeartbeatRequest,OffsetCommitRequest,来自follower的JoinGroupRequestd等等

Stable -> PreparingRebalance:消费者组有消费者心跳检测超时;有消费者主动退出;当前Group Leader发送JoinGroupRequest;有新的消费者请求加入消费者组
Stable -> Dead: 分区迁移的时候删除消费者组

Dead状态:

处于此状态的消费者组中没有消费者,其对应的GroupMetadata也将被删除,除了OffsetCommitRequest其他请求响应会携带UNKNOWN_MEMBER_ID.

Empty状态:

消费者组中没有消费者了,但是不会被删除,直到所有offset都已经到期;这个状态还表示消费者组只用于offset提交

Empty -> Dead: 最后的offset被删除;组因到期被删除;组因分区迁移被删除
Empty -> PreparingRebalance:新的成员加入,发送JoinGroupRequest

你可能感兴趣的:(GroupCoordinator status)