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