Релиз проекта pgbalancer 1.0 — балансировщика нагрузки PostgreSQL на основе ИИ, поддерживающего REST API и MQTT

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

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии