1. Introduction
-
当分区分配(partition assignment)在消费者之间移动时,
正在处理消费者的再平衡(dealing with consumer rebalance); -
发生重新平衡的场景:
-
某消费者离开或加入组,consumer leave/join group;
-
将分区添加到主题,partition add to topic;
-
2. Eager Rebalancing
-
默认:消费者执行eager rebalancing,即所有消费者都停止从Kafka消费,
并放弃(give up)其分区的成员资格(membership); -
在这段实践,整个消费者组停止处理,也称STW:stop the world事件;
entire consumer group stop processing; -
它们将重新加入消费者组并获得新的分区分配(assignment),
但不一定要"get back"以前分配给它们的分区;
3. Cooperative Rebalance
-
Consumer Cooperative Rebalance aka Incremental Rebalance;
-
此模式,只有分区的子集从A消费者移到B消费者,其它不关心rebalance的消费者
可继续处理数据而不会中断,整个消费者组可经历几次rebalance,
直到找到稳定的分配finding stable assignment,也称增量再平衡;
|