IntermediateKafka 4.x
What are Kafka share groups, and when would you use one instead of a consumer group?
Reference answer
Share groups (KIP-932, Queues for Kafka) let several consumers read the same partitions at the same time, and there can be more consumers than partitions. A fetched record is acquired under a time-limited lock (30 seconds by default) and then acknowledged individually as accept, release or reject, and a delivery count is kept so a record that reaches the limit (5 by default) is archived instead of redelivered forever. Delivery is at-least-once and ordering is only guaranteed within one batch. Use a share group for work handled one record at a time, such as a task queue, where parallelism should not be capped by the partition count; use a consumer group when order matters. Share groups are production-ready in 4.2.
Expected key concepts: share group, KIP-932, queue, acknowledge, acquire, lock, delivery count, at-least-once, ordering, partitions, 4.2
How did that feel?
Your own verdict, not the score. It shows up next to this question in the list, so you can come back to the shaky ones.