Picture an order pipeline at an e-commerce company. Orders are published to an orders topic with 24 partitions, keyed by customer ID so each customer's events stay ordered. A fulfillment service runs 8 pods, all in the group fulfillment-workers, so each pod handles 3 partitions and the load is even.
During a flash sale, traffic triples. The team scales the deployment to 24 pods. Kafka rebalances and now each pod owns exactly 1 partition, tripling consumer throughput without any code change. When the sale ends and pods scale back down, the surviving consumers pick up the freed partitions from the last committed offset, so no order is lost as long as commits happen after the order is written, though an order in flight when a pod stops can be processed twice, which is why the handler must be idempotent.
Meanwhile a separate fraud-detection service reads the same orders topic under the group fraud-checks. Because it is a different group, it sees every order independently, with its own offsets and its own lag, completely isolated from the fulfillment workers.