Обзор ADPG Control
Arenadata Postgres Control (ADPG Control) — решение для управления кластерами ADPG, которое позволяет упростить администрирование, создание резервных копий и оптимизировать работу баз данных ADPG.
Функции
Основные функциональные возможности ADPG Control:
-
визуальное представление топологии кластеров, состояния хостов, а также их ролей (leader/replica) в архитектуре высокой доступности (High Availability, HA);
-
управление резервным копированием и восстановлением кластеров;
-
расчет оптимальных значений конфигурационных параметров кластеров на основе профиля нагрузки, используемого оборудования и максимального количества подключений.
Архитектура
Архитектура ADPG Control представлена на схеме ниже. Синими стрелками обозначено взаимодействие внутри кластера ADPG Control, зелеными — взаимодействие внутри кластеров ADPG и межкластерное взаимодействие.
Основные компоненты:
-
ADPG Control — основной сервис, обеспечивающий функциональность ADPG Control.
-
ADBM — построенная на основе pgbackrest отказоустойчивая система управления бэкапами, основные возможности которой включают:
-
Гибкую настройку политик формирования бэкапов с отдельным расписанием для различных их видов.
-
Формирование бэкапов в соответствии с настроенным расписанием и вручную.
-
Ведение списка бэкапов с возможностью их поиска и просмотра деталей.
-
Удаление бэкапов согласно настроенным политикам по расписанию и вручную.
-
Логирование операций резервного копирования.
-
Поддержку работы с несколькими кластерами ADPG.
-
Поддержку S3-, CIFS- и Posix-совместимых хранилищ для бэкапов.
-
-
AD Eureka — отвечает за service discovery в ADPG Control. Обеспечивает обнаружение доступных агентов и поиск необходимых сервисов для отправки ответов. При добавлении нового кластера ADPG новые агенты также регистрируются в AD Eureka. Этот функционал реализован средствами Spring Eureka Server.
-
Arenadata PostgreSQL — используется для хранения метаданных сервисов ADBM и ADPG Control.
-
ADBM Agent — обеспечивает взаимодействие сервиса ADBM и кластеров ADPG. Агенты ADBM устанавливаются по одному на каждый хост ADPG-кластера с сервисом ADPG. Они отвечают за управление конфигурацией и запуск необходимых команд
pgbackrest. Агенты ADBM используют протокол gRPC для передачи данных сервису ADBM. -
ADPG Control Agent — отвечает за получение метрик хоста из Prometheus и взаимодействие с Patroni через REST API.
ADBM Agent и ADPG Control Agent разворачиваются на стороне кластера ADPG.