Es ist die Version 1.0 des pgbalancer erschienen, ein KI-basierter Lastenausgleich für PostgreSQL, der REST API und MQTT unterstützt

Die erste Ausgabe von pgbalancer wurde veröffentlicht, einem KI-basierten Lastenausgleichsmechanismus für PostgreSQL mit REST-API und MQTT. Pgbalancer gewährleistet das Pooling von Verbindungen und Lastenausgleich für PostgreSQL, wird über das HTTP-Protokoll gesteuert und unterstützt die Echtzeit-Eventübertragung. Das Projekt wurde als Fork von pgpool-II mit bedeutenden Verbesserungen für intelligentes Routing von Anfragen erstellt. Der Code ist in C geschrieben und wird unter der PostgreSQL Open Source-Lizenz vertrieben.

Hauptmerkmale und Funktionen:

  • Verbindungs-Pooling und Lastenausgleich.
  • Automatisches Failover mit Unterstützung für Watchdog-Timeouts.
  • Überwachung der Verfügbarkeit und Caching von Anfragen.
  • SSL/TLS, PAM/LDAP-Authentifizierung.
  • Kompatibel mit PostgreSQL 13-18.
  • Teil der pgElephant-Tools, die hohe Verfügbarkeit bieten. Kann mit pgraft für Raft-Konsens integriert werden, unterstützt die Überwachung durch pgSentinel.
  • KI-basierter Lastenausgleich.
    • Maschinenlernalgorithmen für intelligentes Routing von Anfragen.
    • Das Lernen passt sich an die Antwortzeiten von Anfragen und den Status der Ressourcen an. Server.
    • Der Status wird in Echtzeit bewertet und die Verteilung der Anfragen vorhergesagt.
    • Anpassbare Gewichtungsparameter für Lernrate und Zufallsereignisraten.
    • Integration mit den Monitoring-Plattformen Prometheus und Grafana.

    Verwaltung über REST-API.

    • 17 HTTP/JSON-Funktionen für die vollständige Verwaltung des Clusters.
    • Integriert Server API, die auf Port 8080 arbeitet.
    • JWT HMAC-SHA256-Token-Authentifizierung.
    • Abrufen von Statistiken und Metriken über den Ausführungsstatus.
    • Antwortzeiten unter 10 ms.

    Ereignisstreaming über MQTT.

    • MQTT wird verwendet, um Änderungen im Status von Knoten, Failover und Statusüberprüfungen in Echtzeit zu veröffentlichen.
    • MQTT-Topics können für verschiedene Ereignistypen konfiguriert werden.
    • Integration mit Mosquitto, EMQX oder jedem MQTT-Broker.
    • Stellt automatische Benachrichtigungen über Anomalien bereit und bietet einen Transportkanal zur Orchestrierung des Clusters.
  • Das Kommandozeilen-Tool bctl:
    • Eine einheitliche Schnittstelle, die mehr als 10 einzelne Befehle «pcp_*» ersetzt.
    • 3 Ausgabformate: Tabellen, JSON oder unverändertes Format.
    • Ausgabe von formatierten Tabellen mit Rahmen für Runtime-Daten pgbalancer.
    • Fernsteuerung und erweiterter Ausgabemodus.
  • GitHub Actions Workflow:
    • build-matrix.yml: Builds auf mehreren Plattformen (Ubuntu, macOS, Rocky Linux).
    • Unterstützung für PostgreSQL 13-18.
    • DEB-Pakete für Ubuntu 22.04/24.04, Debian 11/12.
    • RPM-Pakete für Rocky 9, AlmaLinux 9, CentOS Stream 9.
    • Unterstützung für Autotools mit Integration von autoreconf
    • docs.yml: Bereitstellung der Dokumentation auf GitHub Pages.

Quelle: opennet.ru

60GB SSD 8Gb DDR4