High Availability is critical for payment systems, as the cost of downtime for mission-critical systems in Banking is on average $10M per hour. System availability needs are expressed as “5 9’s”. This in practice requires both single-site and dual-site redundancy of database nodes, multi-master Active-Active processing across Data Centers, and “Continuous Availability” at both Data Centers even when the WAN between them fails. The right balance must be struck in the overall design between handling extremely write-intensive transactions with high throughput and low latency, Availability under a variety of failure modes, and enforcement of “bank account balance” immediate and eventual consistency.
This talk will present ACI Worldwide’s journey to migrate a mission-critical payment system to Postgres in a multi-master Active-Active topology, using Postgres-BDR, in a manner that addresses these challenges. This will include detailing selection of replication modes used, transaction recovery and duplicate transaction avoidance mechanisms during node failover, and incorporating appropriate patterns of use for replication conflict detection-and-resolution mechanisms (particularly Conflict-Free Replication Data Types).
In conclusions we’ll see how Postgres-BDR can satisfy the demanding requirements of a mission-critical banking application.