Излязоха pgbalancer 1.0, балансировчик на натоварването на PostgreSQL на база ИИ, поддържащ REST API и MQTT

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

Основни функции и характеристики:

  • Пул от връзки и балансировка на натоварването.
  • Автоматично превключване при авария с поддръжка на наблюдателен таймер.
  • Мониторинг на работоспособността и кеширане на заявки.
  • 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 или формат без промяна.
    • Изход на форматирани таблици с рамка за данни в реално време pgbalancer.
    • Отдалечено управление и режим на разширен изход.
  • GitHub Actions Работен процес:
    • 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.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster