Список докладов конференции PgConf.Russia 2017

Отказоустойчивый PostgreSQL кластер с Patroni

Александр Кукушкин
Zalando SE, Database Engineer

Александр один из ключевых разработчиков Patroni. В Zalando Александр занимается задачами создания и обслуживания сотен кластеров PostgreSQL размерами от нескольких мегабайт до 10 терабайт.

В современном мире всё больше и больше IT компаний отказываются от традиционных способов хостинга и переносят свои ресурсы в облачные сервисы. Zalando не стала исключением. Взрывной рост компании и переход к модели микросервисов потребовал внести изменения в процесс деплоймента новых инстансов баз данных и решить проблему автоматического переключения в случае выхода мастера из строя. Большинство существующих решений для автоматического переключения требуют предварительной ручной настройки каждого узла до запуска кластера. Такой подход определенно неприемлем в облаках, где ты заранее не знаешь IP адресов всех узлов. Patroni использует Etcd, Zookeeper или Consul для хранения информации о состоянии кластера и конфигурационных параметров PostgreSQL. Он способен помочь с автоматизацией failover, автоматическим подключением новых узлов к кластеру, изменением конфигурационных параметров PostgreSQL на всех узлах и рестартом одного или всех узлов кластера в заданное время. На данный момент у нас в Zalando под управлением Patroni работает примерно сотня кластеров в AWS и несколько десятков кластеров в классическом датацентре.

Patroni является открытым программным продуктом и поддерживается компаний Zalando и сторонними разработчиками на http://github.com/zalando/patroni

ВИДЕО

Слайды