Patroni Deployment Patterns
Over the last years, Patroni has emerged as one of the most popular and successful High-Availability (HA) solutions for PostgreSQL.
It solves the split-brain and leader-election problems by using a RAFT-based distributed consensus store (DCS) like etcd that keeps important cluster information. A REST API allows for convenient management of the Postgres nodes and their configuration.
However, Patroni is but a template for PostgreSQL HA; it can be deployed in a wide variety of ways and configurations.
This talk will present a brief overview of Patroni and then discuss various deployment patterns (and possible issues with them) that we encountered while working with customers to implement PostgreSQL HA. In particular, it will discuss the following: synchronous standbys and/or read replicas, standby clusters for multi-region/availability zone replication, client fail-over possibilities and issues/solutions with DCS problems interfering with Patroni.