Regional failover with shared control plane
Separates health evidence, traffic routing and data-store promotion; replication and failover assumptions remain explicit. Original worked design example; adapt responsibilities, thresholds and assumptions to your system.
What this template contains
- Graph
- Directed
- Edges
- 13
- Source
- 29 lines
Make it your own.
digraph G {
graph [rankdir=LR, bgcolor="transparent", pad="0.3", nodesep="0.45", ranksep="0.8"];
node [shape=box, style="rounded,filled", fillcolor="#edf4fa", color="#47728d", fontname="Arial", fontsize=12, margin="0.14"];
edge [color="#64748b", fontname="Arial", fontsize=10];
dns [label="Global routing"];
health [label="Health evaluator"];
a [label="Region A ingress"];
b [label="Region B ingress"];
appA [label="Region A service"];
appB [label="Region B service"];
dbA [label="Primary data store"];
dbB [label="Replica data store"];
audit [label="Promotion audit"];
quorum [label="Quorum authority"];
fence [label="Fence old primary"];
health -> dns [label="routing decision"];
dns -> a [label="normal traffic"];
dns -> b [label="failover traffic"];
a -> appA [label="request"];
b -> appB [label="request"];
appA -> dbA [label="read/write"];
dbA -> dbB [label="replication"];
appB -> dbB [label="read after promotion"];
health -> audit [label="record decision"];
health -> quorum [label="request failover"];
quorum -> fence [label="revoke old write lease"];
fence -> dbB [label="promote after fencing confirmed"];
dbB -> audit [label="promotion receipt"];
}