title

text

Алексей Клюкин
Алексей Клюкин Zalando SE Database Engineer
Александр Кукушкин
Александр Кукушкин Zalando SE Database Engineer
14:00 05 февраля
180 мин

Мастер-класс: Управление высокодоступными PostgreSQL кластерами с помощью Patroni

Patroni - это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компаниями как Red Hat, IBM Compose, Zalando и многими другими. С его помощью можно преобразовать систему из ведущего и ведомых узлов (primary - replica) в высокодоступный кластер с поддержкой автоматического контролируемого (switchover) и аварийного (failover) переключения. Patroni позволяет легко добавлять новые реплики в существующий кластер, поддерживает динамическое изменение конфигурации PostgreSQL одновременно на всех узлах кластера и множество других возможностей, таких как синхронная репликация, настраиваемые действия при переключении узлов, REST API, возможность запуска пользовательских команд для создания реплики вместо pg_basebackup, взаимодействие с Kubernetes и т.д.

Слушатели мастер-класса подробно узнают, как работает Patroni, получат практические навыки настройки высокодоступных кластеров на его основе, познакомятся с различными дополнительными возможностями и поучаствуют в диагностике проблем. Будут рассмотрены следующие темы:

  • область применения: какие задачи HA успешно решаются Patroni
  • обзор архитектуры
  • создание тестового кластера
  • утилита patronictl
  • изменение конфигурации PostgreSQL для кластера, управляемого Patroni
  • мониторинг с помощью API
  • подходы к переключению клиентов
  • дополнительные возможности: ручное переключение, перезагрузка по расписанию, режим паузы
  • настройка синхронной репликации
  • расширяемость и универсальность
  • частые ошибки и их диагностика

Для полного участия в мастер-классе вам понадобится ноутбук с установленным git, vagrant и virtual box.

Vagrant можно загрузить со страницы https://www.vagrantup.com или установить с помощью пакетов в вашем дистрибутиве. Virtualbox: https://www.vagrantup.com

После установки Vagrant и Virtualbox нужно выполнить:

$ git clone https://github.com/alexeyklyukin/patroni-training
$ cd patroni-training
$ vagrant up

После того, как patroni box поднимется и установит необходимые пакеты к нему можно подключиться с помощью vagrant ssh.

Видео

Другие доклады

  • Марк Локшин
    Марк Локшин Мэйл Ру Старший программист
    45 мин

    Опыт миграции высоконагруженных игровых проектов с MySQL на PostgreSQL

    В докладе будет рассказано о том, как мы переносили два высоконагруженных игровых проекта, изначально разработанных для работы с MySQL на Postgres. Какие проблемы мы видели изначально при миграции на Postgres, с какими очевидными и не очень сложностями столкнулись во время миграции и как их решали. Какие проблемы выявились в процессе эксплуатации. Какие фичи Postgres нам оказались очень полезными, а чего нам не хватало при переносе.

  • Константин Евтеев
    Константин Евтеев X5 FoodTech Главный архитектор
    Михаил Тюрин
    Михаил Тюрин ИТ предприниматель предприниматель
    45 мин

    Кейсы использования логической репликации для восстановления данных в PostgreSQL 10

    В Avito объявления хранятся в базах данных PostgreSQL. При этом уже на протяжении многих лет активно применяется логическая репликация. С помощью неё успешно решаются вопросы роста объема данных и количества запросов к ним, масштабирования и распределения нагрузки, доставки данных в DWH и поисковые подсистемы, межбазные и межсервисные синхронизации данных и пр.

    Но ничего не бывает "бесплатно" - на выходе мы имеем сложную распределенную систему. Отказы оборудования - это норма, к ним нужно быть готовым. Можно найти много примеров конфигурации логической репликации и success stories ее использования, при этом практических примеров по восстановлению после аварий почти нет, не говоря уже про готовые инструменты. За годы эксплуатации репликации PgQ мы наработали обширный опыт, многое переосмыслили, реализовали собственные надстройки и расширения для восстановления и согласования данных после аварий в распределенных системах обработки данных.

    В докладе мы покажем, как наш опыт можно переложить на новую подсистему логической репликации в 10-ке. В текущей реализации это нетривиальные решения – остается ряд вопросов для комьюнити, сводящихся к реализации простых механизмов восстановления - таких же простых как и настройка репликации в 10-ке.

  • Александр Погодин
    Александр Погодин Корпорация ПАРУС, МГОТУ руководитель отдела
    А
    Александр Панкратов НПЦ Парус Генеральный директор
    45 мин

    Технология миграции тиражных клиент-серверных приложений с СУБД Oracle в СУБД PostgreSQL: Принципы, подходы и особенности

    В докладе рассматриваются подходы и варианты реализации миграции клиент-серверного приложения Парус-Бюджет 8 с платформы Oracle Database на платформу PostgreSQL без изменения клиентского приложения для Desctop и Web. Предлагаемое решение позволяет осуществить прозрачный переход существующих пользовательских рабочих мест.

  • Дмитрий Белявский
    Дмитрий Белявский ТЦИ Ведущий специалист
    22 мин

    Криптографические параметры настройки PostgreSQL

    При настройке PostgreSQL можно указать ряд криптографических параметров, относящихся как к соединению между клиентами и базой, так и к механизму авторизации. Доклад рассказывает, что они означают.