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

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

Основни функции и особености:

  • Пул от връзки и баланс на натоварването.
  • Автоматично прехвърляне при повреда с поддръжка на 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 Работен поток:
    • 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