Wydano pgbalancer 1.0, balansującego obciążenie PostgreSQL na bazie AI, wspierającego REST API i MQTT.

Opublikowano pierwszy wydanie pgbalancer, load balancera PostgreSQL wykorzystującego sztuczną inteligencję z REST API i MQTT. Pgbalancer zapewnia obsługę pul połączeń oraz równoważenie obciążenia dla PostgreSQL, jest zarządzany protokołem HTTP i obsługuje przesyłanie zdarzeń w czasie rzeczywistym. Projekt powstał jako fork pgpool-II z istotnymi ulepszeniami dla inteligentnego routingu zapytań. Kod napisany jest w języku C i udostępniany na licencji open source PostgreSQL.

Główne funkcje i cechy:

  • Pul połączeń i równoważenie obciążenia.
  • Automatyczne przełączanie awaryjne z obsługą timera watchdog.
  • Monitorowanie dostępności i cachowanie zapytań.
  • Uwierzytelnianie SSL/TLS, PAM/LDAP.
  • Kompatybilność z PostgreSQL 13-18.
  • Jest częścią narzędzi pgElephant, zapewniających wysoką dostępność. Może integrować się z pgraft dla konsensusu Raft, obsługiwane przez monitorowanie pgSentinel.
  • Równoważenie obciążenia oparte na AI.
    • Algorytmy uczenia maszynowego dla inteligentnego routingu zapytań.
    • Uczenie adaptacyjne w zależności od czasu odpowiedzi zapytań i stanu zasobów. serwera.
    • Ocena stanu w czasie rzeczywistym i prognozowanie równoważenia zapytań.
    • Konfigurowalne parametry wagowe dla szybkości uczenia i szybkości oszacowań losowych zdarzeń.
    • Możliwość integracji z platformami monitorującymi Prometheus i Grafana.

    Zarządzanie przez REST API.

    • 17 funkcji HTTP/JSON do pełnego zarządzania klastrem.
    • Zintegrowany serwer API działające na porcie 8080.
    • Uwierzytelnianie tokenami JWT HMAC-SHA256.
    • Uzyskiwanie statystyk i metryk stanu wykonania.
    • Czas odpowiedzi poniżej 10 ms.

    Strumieniowe przesyłanie zdarzeń MQTT.

    • MQTT jest wykorzystywane do publikacji zmian stanu węzłów, przełączania awaryjnego i sprawdzania stanu zasobów w czasie rzeczywistym.
    • Można skonfigurować tematy MQTT dla różnych typów zdarzeń.
    • Integracja z Mosquitto, EMQX lub dowolnym brokerem MQTT.
    • Zapewnia automatyczne powiadamianie o niepożądanych zdarzeniach i udostępnia kanał transportowy do orkiestracji klastra.
  • Narzędzie wiersza poleceń bctl:
    • Jednolity interfejs, zastępujący ponad 10 oddzielnych poleceń 'pcp_*'.
    • 3 formaty wyjścia: tabele, JSON lub format bez zmian.
    • Wyjście sformatowanych tabel z ramką dla danych runtime pgbalancer.
    • Zdalne zarządzanie i tryb rozszerzonego wyjścia.
  • Workflow GitHub Actions:
    • build-matrix.yml: Kompilacje na różnych platformach (Ubuntu, macOS, Rocky Linux).
    • Wsparcie dla PostgreSQL 13-18.
    • Pakiety DEB dla Ubuntu 22.04/24.04, Debian 11/12.
    • Pakiety RPM dla Rocky 9, AlmaLinux 9, CentOS Stream 9.
    • Wsparcie dla Autotools z integracją autoreconf.
    • docs.yml: Wdrażanie dokumentacji GitHub Pages.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster