Date: 2016-11-03
Time: 11:50–12:40
Room: Omega
Level: Intermediate
Patroni is a high availability solution for PostgreSQL developed by Zalando to manage hundreds of databases in the cloud, as well as in traditional data centers. It implements automatic failover and works together with Etcd, Zookeeper or Consul to store and retrieve Postgres cluster information in a consistent way and ensure there is only one leader at a time, avoiding split-brains.
In more than one year of active development, we’ve implemented a number of features, such as manual and scheduled failovers, support for synchronous and cascading replication, multiple ways to create new replicas, changing configuration of PostgreSQL and Patroni on-the-fly with dynamic configuration and many others. Patroni is used at the core of Zalando’s cloud-based Database-as-a-Service infrastructure, as well as to manage PostgreSQL clusters in our data centers. In this talk, we will describe how Patroni works, live-demo the creation of a new high-availability cluster, highlight different usage patterns and share our own experience, including configuration of Etcd or other similar systems to make proper trade-offs between the cluster availability and probability of running into the split brain situation.
Patroni is an open-source daemon written in Python and developed in the open on GitHub: https://github.com/zalando/patroni It is used by Zalando, as well as other big and small companies around the globe.