Payment Checkout & Ledger Service · View 18 of 24 · Operations
Decisions
- Open source on self-managed Kubernetes in two in-country data centres, rather than a hyperscaler: data localisation plus PCI-DSS scope containment, and a money path with no dependency on a provider the regulator has not approved (ADR-18).
- The ledger is synchronously replicated at 1.4 ms RTT, which is what makes RPO 0 affordable. That number is the reason the second site is 40 km away and not 1,400 km.
- Settlement and payout batch jobs run in DC-2 by default, keeping reporting load off the site taking the payments (ADR-16).
Numbers
- Authorization plane RTO ≤ 120 s; ledger write path RTO ≤ 15 min; reporting RTO ≤ 4 h.
- Ledger RPO 0; payment state RPO ≤ 5 s.
- DC-2 carries ~30% of authorization traffic in steady state, so failover is a weight change rather than a cold start. Stated assumptions.
Risks
- Two sites 40 km apart share a metro. A regional event takes both, and the response is a declared, announced outage with RPO 0 rather than a third site — a deliberate limit of this design (ADR-18).
- Self-managed Kubernetes, Kafka, PostgreSQL and HSMs is a real operational staffing commitment. It is the cost of the localisation decision, not a free choice.