Advanced

The multi-writer

Manage four competing actors writing to a shared database without contention degrading any single channel.

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.

Logistics35–45 min
01The scenario

What this system design kata asks of you

RouteHound has four actors all writing to the same fleet database: drivers sending location updates (high frequency, fire-and-forget), dispatchers sending route assignments (lower frequency, needs confirmation), warehouse terminals recording loading events (medium frequency, needs acknowledgement), and the operations dashboard reading everything. The combined write load from three actors exceeds what a single database can handle at peak. The user must decide which writes need synchronous confirmation and which can be buffered via queues, how to isolate the read path for the dashboard, and how to size components so no single actor's spike breaks another's SLA.

02Constraints to balance

Operational pressure

  • No manual load balancing between actor channels.
  • Driver location updates are fire-and-forget - async acknowledgement is fine.
  • Dispatch route assignments need synchronous confirmation.

Customer and product constraints

  • Warehouse events need acknowledgement but can tolerate queue wait.
  • Four actors means four cost lines - the total must make sense.

The multi-writer

Logistics · 35–45 min

Advanced

Trade-offs to explore in the simulator

  • Keep all four actor channels operational during peak shift.
  • Prevent one actor's traffic spike from degrading another's latency.
  • Keep the operations dashboard responsive for real-time decision-making.
  • Maintain write reliability - lost location updates mean lost trust.
  • Control costs across a 4-actor platform.

What you will learn

  • Diagnose write contention from per-actor utilization metrics.
  • Use async buffering (queues) for high-frequency, low-priority writes.
  • Isolate read paths from write paths using replicas.
  • Size components per-actor rather than per-system.
  • Understand that combined actor load on shared components compounds utilization.
Ready to run

Open The multi-writer in the simulator

Sketch your first design, run the traffic and see what the review says. No signup required.