Monedula

Scenario 11.0.1 · Share group queue

Kafka share groups: queue semantics with KIP-932

Share groups · Intermediate · about 2 min · Apache Kafka 4.3

Two consumers share ONE partition - each acquires different offsets (KIP-932 queue semantics).

Run this scenario in the playground

Queue drained. t+3.200s

All six records acked - the queue was shared across both consumers.

Open at this step: step 4, Queue drained

What you start with

Share groups (KIP-932) bring queue semantics to Kafka. In a classic consumer group a partition is owned by exactly one consumer; a share group instead lets MANY members read the SAME partition cooperatively, each acquiring a DISJOINT set of offsets. Here two workers (w1, w2) poll one partition holding six jobs.

Step by step

  1. Cluster ready · idle t+0.000s One partition, one share group with two consumers (w1, w2). Press ▶. Open at this step: step 1, Cluster ready · idle
  2. First acquire t+0.900s w1 and w2 each acquire a DIFFERENT offset on the SAME partition - no partition assignment. Open at this step: step 2, First acquire
  3. Draining t+1.500s Prior acquisitions auto-accept (acked); the next two offsets are acquired. Open at this step: step 3, Draining
  4. Queue drained t+3.200s All six records acked - the queue was shared across both consumers. Open at this step: step 4, Queue drained

The takeaway

A share group decouples consumer parallelism from partition count: several members drain a single partition as a shared work queue, each handling different records.

Embed this scenario

Paste this into a blog post, a course page or your team's docs. The scenario plays inside your page, and the link under it points readers to this walkthrough.

<iframe src="https://monedula.dev/kafka-simulator/embed/?scenario=11.0.1" title="Kafka Simulator: Share group queue" width="100%" height="520" style="border:1px solid #d0d0d0;border-radius:8px" loading="lazy"></iframe>
<p><a href="https://monedula.dev/kafka-simulator/scenarios/share-group-queue/">Kafka share groups: queue semantics with KIP-932</a></p>

Further reading

KIP-932 on the Apache Kafka wiki

More in Share groups

All scenarios