A database tier that survives losing its primary site — with routing and failover proven in a drill, both directions, in about sixteen seconds.
First-party build — our own multi-region platform (SaaS + analytics + WordPress), ~20 production databases. TODO: founder to confirm how to attribute / whether to name it.
Figures pending verification — placeholders until confirmed.
A single-primary database was the last single point of failure in an otherwise redundant platform. Losing the primary site meant a manual, error-prone failover, and read traffic had no clean way to scale or stay in-region across geographically separated sites.
We run MariaDB 11.4 primary→replica with GTID async replication across three sites — a US primary, an EU replica, and an independent third node that runs only the failover manager (no data), so ties break cleanly instead of risking split-brain. ProxySQL sits in front: the apps use a single endpoint while its read_only monitor polls every 1.5s and weights local reads 1000:1 over remote, keeping roughly 99.9% of reads in-region. For failover we started on Orchestrator, then moved to Signal18 replication-manager (repman) with a single active manager on the witness and deliberately conservative promotion rules — because a bad automatic promotion is worse than a brief manual one. Cloudflare Load Balancing health-checks the application tier and steers traffic US→EU on failure; it sits above the database and never talks to it. Everything rides a Tailscale mesh, so there is no public database exposure and no floating VIP to babysit.
We cut over roughly 20 production databases — application deployments plus ~49 scheduled jobs, analytics and WordPress — onto the HA tier. In a failover drill the replica was promoted and made writable in about 16 seconds, with the ex-primary auto-rejoining in about 12 seconds at zero lag, verified in both directions on throwaway VMs before production was touched. ProxySQL adds only ~85µs per query for the routing. TODO: founder to add a production-incident timing and an uptime figure once there is a real event to cite — the ~16s above is drill-verified, not from a production outage.
Bring it to a senior US engineer who'll scope it, build it, prove it, and document it. Start with a call — or prove the approach in a one-week sprint first.