← Lessons

quiz vs the machine

Platinum1860

System Design

Multi Region Active Active

Running every region live at once for low latency and resilience, and the conflict cost.

6 min read · advanced · beat Platinum to climb

Two ways to span regions

To serve users worldwide and survive a region outage, you deploy in multiple regions. There are two postures.

  • Active passive: one region serves traffic, another stands by to take over. Simple, but the standby is wasted and failover is slow.
  • Active active: every region serves live traffic simultaneously. Lower latency everywhere and instant resilience, but much harder.

The hard part is writes

Reads are easy to replicate. The challenge is concurrent writes in different regions to the same data. With the speed of light limiting cross region latency, you cannot synchronously coordinate every write without crippling performance.

Resolving conflicts

Active active systems usually accept writes locally and replicate asynchronously, then resolve conflicts using strategies like last writer wins, conflict free replicated data types, or partitioning data so each key has a home region.

You trade strong consistency for availability and latency. Choosing the conflict strategy is the central design decision.

Key idea

Active active runs every region live for latency and resilience, at the cost of resolving concurrent cross region write conflicts.

Check yourself

Answer to earn rating on the learn ladder.

1. What distinguishes active active from active passive?

2. Why are writes the hard part of active active?

3. Which is a common conflict resolution strategy?