Strangler migration with reconciliation
Includes data reconciliation and gradual routing with explicit migration ownership boundaries. Original worked design example; adapt responsibilities, thresholds and assumptions to your system.
What this template contains
- Graph
- Directed
- Edges
- 12
- Source
- 27 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];
client [label="Clients"];
router [label="Migration router"];
old [label="Legacy service"];
new [label="New service"];
oldDB [label="Legacy database"];
newDB [label="New database"];
cdc [label="Change capture"];
recon [label="Reconciliation"];
flags [label="Rollout rules"];
metrics [label="Comparison metrics"];
client -> router [label="request"];
flags -> router [label="cohort rule"];
router -> old [label="legacy route"];
router -> new [label="migrated route"];
old -> oldDB [label="write"];
new -> newDB [label="write"];
oldDB -> cdc [label="committed changes"];
cdc -> newDB [label="replicate unmigrated data"];
oldDB -> recon [label="reference snapshot"];
newDB -> recon [label="candidate snapshot"];
recon -> metrics [label="differences"];
metrics -> flags [label="gate progression"];
}