0
0
Kafkadevops~10 mins

Rebalancing behavior in Kafka - Step-by-Step Execution

Choose your learning style9 modes available
Process Flow - Rebalancing behavior
Consumer Group Starts
Coordinator Assigns Partitions
Consumers Receive Assignments
Consumers Process Messages
Consumer Joins/Leaves or Session Timeout
Trigger Rebalance
Coordinator Reassigns Partitions
Consumers Receive New Assignments
Continue Processing
This flow shows how Kafka consumer groups rebalance partitions when consumers join, leave, or fail.
Execution Sample
Kafka
consumer1 joins group
coordinator assigns partitions
consumer1 processes assigned partitions
consumer2 joins group
rebalance triggered
coordinator reassigns partitions
consumers receive new assignments
Simulates consumers joining a group and Kafka rebalancing partition assignments.
Process Table
StepEventCoordinator ActionConsumer StatePartition Assignment
1consumer1 joins groupAssign all partitions to consumer1consumer1 connectedconsumer1: [partition0, partition1, partition2]
2consumer1 processes messagesNo changeconsumer1 processingconsumer1: [partition0, partition1, partition2]
3consumer2 joins groupTrigger rebalanceconsumer1 and consumer2 connectednone (rebalancing)
4rebalance triggeredReassign partitions evenlyconsumer1 and consumer2 pausednone (rebalancing)
5coordinator reassigns partitionsAssign partitions to consumersconsumer1 and consumer2 readyconsumer1: [partition0, partition1], consumer2: [partition2]
6consumers resume processingNo changeconsumer1 and consumer2 processingconsumer1: [partition0, partition1], consumer2: [partition2]
7consumer1 leaves groupTrigger rebalanceconsumer2 connectednone (rebalancing)
8rebalance triggeredAssign all partitions to consumer2consumer2 readyconsumer2: [partition0, partition1, partition2]
9consumer2 processes messagesNo changeconsumer2 processingconsumer2: [partition0, partition1, partition2]
💡 Rebalancing stops when all consumers have stable partition assignments.
Status Tracker
VariableStartAfter Step 3After Step 5After Step 7Final
consumer1_statenot connectedconnectedprocessingleft groupleft group
consumer2_statenot connectedconnectedprocessingprocessingprocessing
partition_assignmentnonenone (rebalancing)consumer1: [partition0, partition1], consumer2: [partition2]none (rebalancing)consumer2: [partition0, partition1, partition2]
Key Moments - 3 Insights
Why do consumers stop processing during rebalance?
During rebalance (see steps 3-5 in execution_table), consumers pause processing to avoid duplicate processing and ensure partitions are reassigned cleanly.
What triggers a rebalance in a consumer group?
A rebalance is triggered when a consumer joins or leaves the group or when a consumer session times out, as shown at steps 3 and 7.
How are partitions assigned after rebalance?
The coordinator evenly distributes partitions among active consumers, as seen in step 5 where partitions are split between consumer1 and consumer2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the partition assignment after step 5?
Aconsumer2: [partition0, partition1, partition2]
Bconsumer1: [partition0, partition1, partition2]
Cconsumer1: [partition0, partition1], consumer2: [partition2]
DNo partitions assigned
💡 Hint
Check the 'Partition Assignment' column at step 5 in execution_table.
At which step does consumer2 start processing messages?
AStep 6
BStep 3
CStep 7
DStep 9
💡 Hint
Look for when consumer2 state changes to processing in execution_table.
If consumer1 never leaves the group, what would happen to partition assignments after step 7?
AAll partitions assigned to consumer2
BPartitions remain assigned as in step 5
CRebalance triggered again
DNo partitions assigned
💡 Hint
Refer to variable_tracker for consumer1_state and partition_assignment after step 7.
Concept Snapshot
Kafka consumer groups assign partitions to consumers.
When consumers join or leave, a rebalance happens.
During rebalance, consumers pause processing.
Coordinator reassigns partitions evenly.
Consumers resume processing after rebalance.
Full Transcript
This visual execution shows how Kafka consumer groups handle rebalancing. When a consumer joins or leaves, the coordinator triggers a rebalance. During rebalance, consumers pause processing to avoid duplicates. The coordinator then reassigns partitions evenly among active consumers. After assignments, consumers resume processing. The execution table traces each step, showing consumer states and partition assignments. Key moments clarify why processing pauses and what triggers rebalances. The quiz tests understanding of partition assignments and rebalance triggers.