← Lessons

quiz vs the machine

Platinum1750

System Design

Fan Out Subscription

Delivering one published message to many independent subscribers.

5 min read · advanced · beat Platinum to climb

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.

Check yourself

Answer to earn rating on the learn ladder.

1. How do you achieve fan out so every subscriber gets every message?

2. What do consumers within a single group do?

3. Why give each subscriber its own offset or queue in fan out?