Nodivex from TraitSpan
Intermediate

The event feed

Publish events once and fan out to multiple subscribers without the slowest one dragging down the publisher.

Kata overview

You do not need to be an expert to start. This kata keeps the stakes low so you can explore trade-offs, adjust the diagram, and see how the system responds.

Social / Content Platform25–40 min

Context for this system design kata

Publish events once and fan out to multiple subscribers without the slowest one dragging down the publisher. This system design kata keeps the stakes low so you can rehearse trade-offs before taking ideas into production reviews.

Scenario and practice focus

Every user action on Threadline becomes an event. Events fan out to three subscribers: a notification service (must be fast), an analytics service (can be slower), and a search indexer (batches are fine). The publisher must acknowledge events quickly regardless of subscriber health. When content goes viral and publish rates spike, the fan-out multiplies traffic - each published event becomes three downstream requests. The architecture must keep the publisher fast, each subscriber is sized independently, and one slow subscriber doesn't cascade into the others.

Difficulty: Intermediate. Estimated time: 25–40 min. Domain: Social / Content Platform.

Constraints to balance

Operational pressure

  • No manual subscriber restarts or re-processing.
  • One slow subscriber must not block or slow the publisher.

Customer and product constraints

  • Fan-out multiplies cost - three subscribers means 3x downstream compute.

Scenarios to explore in the simulator

Trade-off prompts
  • Keep event publishing fast regardless of subscriber load.
  • Process notifications quickly - they're user-facing.
  • Allow analytics and search to process at their own pace.
  • Keep costs reasonable even when viral content spikes event rates.

Learning outcomes

What you will learn
  • Use pub/sub to decouple publishers from subscribers.
  • Size subscribers independently based on their throughput and latency needs.
  • Understand that fan-out multiplies traffic - and cost.
  • Distinguish accept latency (publish speed) from processing latency (subscriber processing).
Ready to run
Open this kata in the simulator.

Give it a try!

Open the app