Перейти к содержанию

Кластер СУБД PostgreSQL

Общие сведения

📌 Кластер PostgreSQL на Patroni — это отказоустойчивая система управления базой данных PostgreSQL, обеспечивающая автоматическое переключение (failover) и высокую доступность. Решение построено на базе PostgreSQL и расширено за счёт Patroni — инструмента управления кластером, который использует etcd/consul и HAProxy (или аналог) для согласования и маршрутизации.

Такой кластер позволяет обеспечить непрерывную доступность данных даже в случае падения одного из узлов и автоматически переключаться на другой без потери данных и ручного вмешательства.

⚙️ Основные возможности:

  • Высокая доступность (HA)

    • Patroni контролирует состояние всех узлов и автоматически инициирует переключение master-узла, если текущий недоступен.
    • Репликация выполняется в streaming режиме: изменения на ведущем сервере передаются на подчинённые практически мгновенно.
  • Надёжность и отказоустойчивость

    • Минимум 3 узла (рекомендуется) позволяют достичь кворума для принятия решений о failover.
    • При необходимости кластер можно масштабировать и адаптировать под большие нагрузки.
  • Централизованное хранилище конфигурации

    • Используется etcd или Consul как хранилище состояния и конфигурации — это позволяет координировать действия между узлами.
  • Интеграция с HAProxy или Envoy

    • Для подключения клиентов используется внешний балансировщик, который направляет запросы на актуальный master-узел PostgreSQL.
    • Обеспечивает прозрачность работы с БД со стороны приложений.
  • Мониторинг и контроль

    • Поддержка REST API от Patroni для получения состояния кластера.
    • Совместим с Prometheus и другими системами мониторинга.

Когда использовать кластер PostgreSQL на Patroni:

  • Требуется обеспечить непрерывную работу бизнес-критичных сервисов.
  • Недопустима потеря соединения с БД из-за отказа одного узла.
  • В проекте используются микросервисы, Kubernetes или облачная архитектура, где отказоустойчивость — обязательное требование.
  • Нужно реализовать репликацию, резервирование и автоматический failover с минимальной поддержкой.
  • Требуется единая точка входа (VIP) и при этом защита от простоев и ручных переключений.

Заказ сервиса Кластер СУБД PostgreSQL

  1. Выбор сервиса
    На портале пользователя в боковом меню перейдите в раздел Каталог Сервисов и выберите сервис «Кластер СУБД PostgreSQL».

  2. Заполнение вкладки Build a VM
    После выбора сервиса вы окажетесь на вкладке «Build a VM», где необходимо заполнить следующие поля:

    • Блок полей Place VM to:

      • Environment — выберите среду размещения.
      • Location — локация доступная для выбранной среды.
    • Блок полей Number of VMs:

      • Number — количество виртуальных машин в кластере. Для продуктивного использования рекомендуется 3 ноды. Количество 1-2 допускается только для тестирования.
    • Блок полей Postgres and Patroni settings:

      • Version — выберите версию PostgreSQL в соответствии с выбранным шаблоном операционной системы:

        • Alt: 10, 11, 12, 14, 15, 16
        • Astra: 11
        • RED: 10, 11, 13, 14, 15, 16
        • CentOS 7: 12, 13, 14, 15
        • Ubuntu 22: 10, 11, 12, 13, 14, 15, 16, 17
      • Postgres Password — укажите пароль для встроенного пользователя 'postgres'.

      • Cluster Name — имя кластера, до 15 символов. Допускаются латинские буквы, цифры и дефис.
      • Cluster VIP IP — предварительно зарезервированный, доступный и свободный IP-адрес в выбранной сети для виртуального IP кластера.
    • Блок полей VM Configuration:

      • Template — шаблон операционной системы (учтите ограничения совместимости с версией PostgreSQL, указанные выше).
      • CPU — количество ядер процессора («cores per socket X number of sockets»).
      • Memory (GB) — объем оперативной памяти.
      • Объем базовых дисков (ГБ) — устанавливается автоматически в зависимости от выбранного шаблона.
      • Тип основных дисков — выберите тип дискового накопителя.
      • Network — сеть подключения ВМ.

    Справа укажите:

    • Имя сервиса — обязательное поле для заполнения. Используйте латинские буквы и цифры без пробелов.
    • Описание сервиса — краткое описание сервиса (необязательно).

После заполнения полей нажмите кнопку «Продолжить» или перейдите во вкладку «Дополнительные опции».


3. Заполнение вкладки «Дополнительные опции»

  • Префикс имени ВМ — не более 15 символов, допускаются латинские буквы, цифры и дефис. Если оставить поле пустым, имя будет задано автоматически.
  • Описание ВМ — необязательное поле для дополнительного описания.
  • Дополнительный диск (ГБ) — можно указать дополнительный диск по необходимости.
  • Тип дополнительного диска — тип дополнительного дискового накопителя (SSD/HDD).

После заполнения всех необходимых полей кнопка «Добавить в корзину» станет доступной.


4. Добавление в корзину
Нажмите на кнопку «Добавить в корзину». В верхнем меню справа количество сервисов на иконке корзины обновится (+1).

Ваш заказ на создание кластера PostgreSQL успешно сформирован и готов к дальнейшему оформлению. Продолжайте оформление по стандартной процедуре.