Опубликован первый выпуск pgbalancer, балансировщика нагрузки PostgreSQL на основе искусственного интеллекта с REST API и MQTT. Pgbalancer обеспечивает обработку пула соединений и балансировку нагрузки для PostgreSQL, управляется по протоколу HTTP и поддерживает потоковую передачу событий в режиме реального времени. Проект создан как форк pgpool-II с серьёзными улучшениями для умной маршрутизации запросов. Код написан на языке Си и распространяется под открытой лицензией PostgreSQL.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64140
Основные возможности и особенности:
- Пул соединений и балансировка нагрузки.
- Автоматическое аварийное переключение с поддержкой сторожевого таймера 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.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64140
