diagram.mmd — flowchart
Multi Region Deployment flowchart diagram

A multi-region deployment runs identical copies of a service in geographically separate data center regions, reducing latency for global users and providing disaster recovery if an entire region becomes unavailable.

What the diagram shows

Global DNS with Geo-routing (e.g. AWS Route 53 latency routing or Cloudflare Load Balancing) directs each user to the nearest active region. The diagram shows three regions: US-East, EU-West, and AP-Southeast. Each region is a self-contained stack with its own Load Balancer, Application Cluster, and Regional Database.

The three regional databases form a Global Database Cluster using cross-region replication. One region is designated the primary writer; the others replicate asynchronously and can be promoted to primary during a regional failover. A Global CDN layer serves static content from edge locations worldwide, further reducing origin traffic.

Why this matters

Multi-region deployments reduce p99 latency dramatically — a user in Singapore hitting a Singapore region instead of US-East can see 200ms round-trip times drop to 30ms. They also provide geographic redundancy: if US-East fails entirely, DNS failover can redirect traffic to EU-West within seconds. The engineering cost is synchronizing state across regions — conflict resolution, replication lag, and distributed transactions are all harder problems at global scale. For single-region HA, see High Availability System. For failover procedures, see System Failover Architecture.

Free online editor
Edit this diagram in Graphlet
Fork, modify, and export to SVG or PNG. No sign-up required.
Open in Graphlet →

Frequently asked questions

A multi-region deployment runs identical copies of a service in geographically separate data center regions, routing users to the nearest region to reduce latency and providing disaster recovery if an entire region becomes unavailable.
DNS geo-routing directs each user to the nearest active region. Each region is a self-contained stack with its own load balancer, application cluster, and database. Regional databases replicate to each other asynchronously, with one designated as the primary writer. A global CDN serves static assets from edge locations worldwide.
Use multi-region when you have a globally distributed user base with latency-sensitive workloads, when your SLA requires survival of a full regional outage, or when data residency regulations require storing user data within specific geographic boundaries.
Common mistakes include underestimating cross-region replication lag (leading to stale reads or write conflicts), not testing regional failover until a real outage occurs, and ignoring data residency requirements that may prevent storing certain user data in specific regions.
mermaid
flowchart TD User([Global Users]) --> DNS[DNS Geo-routing\nRoute 53 / Cloudflare] User --> GCDN[Global CDN\nStatic Assets] DNS --> RegionUS[US-East Region] DNS --> RegionEU[EU-West Region] DNS --> RegionAP[AP-Southeast Region] subgraph RegionUS[US-East Region] LB_US[Load Balancer] --> App_US[Application Cluster] App_US --> DB_US[(Regional Database\nPrimary Writer)] end subgraph RegionEU[EU-West Region] LB_EU[Load Balancer] --> App_EU[Application Cluster] App_EU --> DB_EU[(Regional Database\nRead Replica)] end subgraph RegionAP[AP-Southeast Region] LB_AP[Load Balancer] --> App_AP[Application Cluster] App_AP --> DB_AP[(Regional Database\nRead Replica)] end DB_US -->|Async replication| DB_EU DB_US -->|Async replication| DB_AP
Copied to clipboard