Three reporting consumers subscribe to the same two topics. All three are healthy, but one receives four partitions while the others receive two each. Adding enough consumers for the workload does not, by itself, determine how evenly Kafka distributes that work.
Partition assignment decides which consumer owns each partition within a group. We’ll compare the main assignment strategies, examine what happens when a member joins, and explain how to choose and inspect an assignment policy.
The examples use ordinary consumer groups and Apache Kafka Java client 4.3.1. The named Java assignors apply to group.protocol=classic. We’ll distinguish configuration for the newer consumer protocol separately. Exact layouts assume no static membership or rack-based placement preferences.