One message, many readers
Fan out delivers a single published message to many independent consumers. A payment event might feed billing, analytics, and notifications at once. Each subscriber sees every message and tracks its own progress.
Groups versus subscriptions
- Within a consumer group: partitions are split, so the group collectively reads each message once. That is load sharing, not fan out.
- Across consumer groups: each group maintains its own offsets, so every group independently consumes the full stream. Multiple groups give fan out.
Push versus pull fan out
In a pull model the log is retained and each subscriber reads at its own pace from its own offset. In a push model the broker copies the message into a per subscriber queue, which costs more storage but isolates slow consumers.
Isolation matters
The key property of fan out is independence: a slow analytics consumer must not hold back billing. Separate offsets or separate queues give each subscriber its own pace and failure domain.
Flow
Key idea
Fan out delivers each message to many subscribers; separate consumer groups or per subscriber queues keep them independent and isolate slow readers.