20 октября 2025 года состоялся первый мажорный выпуск pgbalancer. Это балансировщик нагрузки PostgreSQL на основе искусственного интеллекта с REST API и MQTT. Исходный код инструмента написан на языке C и опубликован под открытой лицензией PostgreSQL.
По информации OpenNET, проект Pgbalancer обеспечивает обработку пула соединений и балансировку нагрузки для PostgreSQL, управляется по протоколу HTTP и поддерживает потоковую передачу событий в режиме реального времени. Решение создано как форк pgpool‑II с улучшениями и дополнениями для умной маршрутизации запросов.
Основные возможности и особенности pgbalancer 1.0:
пул соединений и балансировка нагрузки;
автоматическое аварийное переключение с поддержкой сторожевого таймера watchdog;
мониторинг работоспособности и кэширование запросов;
аутентификация SSL/TLS, PAM/LDAP;
совместимость с PostgreSQL 13-18;
является частью утилит pgElephant, обеспечивающих высокую доступность. Может интегрироваться с pgraft для Raft‑консенсуса, поддерживается мониторинг pgSentinel;
балансировка нагрузки на базе ИИ:
алгоритмы машинного обучения для умной маршрутизации запросов;
обучение подстраивается в зависимости от времени отклика запросов и состояния ресурсов сервера;
оценивается состояние в реальном времени и предсказывается балансировка запросов;
настраиваемые параметры весов для скорости обучения и скорости предположений случайных событий;
возможность интеграции с платформами мониторинга Prometheus и Grafana.
управление через REST API:
17 функций HTTP/JSON для полного управления кластером;
Интегрированный сервер API, работающий на порту 8080;
Аутентификация токенами JWT HMAC‑SHA256;
Получение статистик и метрик состояния режима исполнения;
Время отклика менее 10 мс.
потоковая передача событий MQTT:
MQTT используется для публикации изменений состояния узлов, аварийного переключения и проверок состояния ресурсов в реальном времени;
Можно настроить топики MQTT для различных типов событий;
Интеграция с Mosquitto, EMQX или любым MQTT‑брокером;
Обеспечивает автоматическое оповещение о нештатных событиях и предоставляет транспортный канал для оркестровки кластера.
утилита командной строки bctl:
единый интерфейс, заменяющий более 10 отдельных команд «pcp_*»;
3 формата вывода: таблицы, JSON или формат без изменений;
вывод отформатированных таблиц с обрамлением для runtime-данных pgbalancer;
удалённое управление и режим расширенного вывода.
GitHub Actions Workflow:
build-matrix.yml: Сборки на нескольких платформах (Ubuntu, macOS, Rocky Linux);
Поддержка PostgreSQL 13-18;
DEB-пакеты для Ubuntu 22.04/24.04, Debian 11/12;
RPM-пакеты для Rocky 9, AlmaLinux 9, CentOS Stream 9;
поддержка Autotools с интеграцией autoreconf;
docs.yml: Развёртывание документации GitHub Pages.
Источник: habr.com
 
					