Multi-Region & Disaster Recovery — Simple#
flowchart LR
U[Users worldwide]
R1[Region A]
R2[Region B]
R3[Region C]
GLB[Geo / latency LB]
U --> GLB
GLB --> R1
GLB --> R2
GLB --> R3
R1 <-. async replication .-> R2
R2 <-. async replication .-> R3
classDef client fill:#dbeafe,stroke:#1e40af,stroke-width:1px,color:#0f172a;
classDef edge fill:#cffafe,stroke:#0e7490,stroke-width:1px,color:#0f172a;
classDef service fill:#fef3c7,stroke:#92400e,stroke-width:1px,color:#0f172a;
classDef datastore fill:#fee2e2,stroke:#991b1b,stroke-width:1px,color:#0f172a;
classDef cache fill:#fed7aa,stroke:#9a3412,stroke-width:1px,color:#0f172a;
classDef queue fill:#ede9fe,stroke:#5b21b6,stroke-width:1px,color:#0f172a;
classDef compute fill:#d1fae5,stroke:#065f46,stroke-width:1px,color:#0f172a;
classDef storage fill:#e5e7eb,stroke:#374151,stroke-width:1px,color:#0f172a;
classDef external fill:#fce7f3,stroke:#9d174d,stroke-width:1px,color:#0f172a;
classDef obs fill:#f3e8ff,stroke:#6b21a8,stroke-width:1px,color:#0f172a;
class GLB edge;
class U,R1,R2,R3 service;
Make your system survive losing an entire region. Two axes: RTO (how fast can you recover?) and RPO (how much data can you lose?). Patterns range from cold standby (high RTO, high RPO) to active-active (RTO ≈ 0, RPO ≈ 0).