È stato rilasciato pgbalancer 1.0, un bilanciatore di carico PostgreSQL basato su AI, che supporta REST API e MQTT.

È stato pubblicato il primo rilascio di pgbalancer, un bilanciatore di carico PostgreSQL basato su intelligenza artificiale con REST API e MQTT. Pgbalancer gestisce il pooling delle connessioni e il bilanciamento del carico per PostgreSQL, controllato tramite protocollo HTTP e supporta la trasmissione di eventi in tempo reale. Il progetto è stato creato come fork di pgpool-II, con importanti miglioramenti per l'instradamento intelligente delle richieste. Il codice è scritto in C e distribuito sotto licenza aperta PostgreSQL.

Funzionalità e caratteristiche principali:

  • Pooling delle connessioni e bilanciamento del carico.
  • Failover automatico con supporto per un timer di controllo (watchdog).
  • Monitoraggio della disponibilità e caching delle richieste.
  • Autenticazione SSL/TLS, PAM/LDAP.
  • Compatibilità con PostgreSQL 13-18.
  • È parte degli strumenti pgElephant, che forniscono alta disponibilità. Può integrarsi con pgraft per un consenso Raft, supportato dal monitoraggio pgSentinel.
  • Bilanciamento del carico basato su AI.
    • Algoritmi di machine learning per un instradamento intelligente delle richieste.
    • L'apprendimento si adatta in base ai tempi di risposta delle richieste e allo stato delle risorse. server.
    • Lo stato viene valutato in tempo reale e il bilanciamento delle richieste viene previsto.
    • Parametri di peso configurabili per la velocità di apprendimento e la velocità di previsione di eventi casuali.
    • Possibilità di integrazione con le piattaforme di monitoraggio Prometheus e Grafana.

    Gestione tramite REST API.

    • 17 funzioni HTTP/JSON per una gestione completa del cluster.
    • Integrato server API, in esecuzione sulla porta 8080.
    • Autenticazione tramite token JWT HMAC-SHA256.
    • Ottenimento di statistiche e metriche sullo stato della modalità di esecuzione.
    • Tempo di risposta inferiore a 10 ms.

    Trasmissione di eventi in streaming MQTT.

    • MQTT viene utilizzato per pubblicare modifiche allo stato dei nodi, failover e controlli sullo stato delle risorse in tempo reale.
    • È possibile configurare i topic MQTT per diversi tipi di eventi.
    • Integrazione con Mosquitto, EMQX o qualsiasi broker MQTT.
    • Fornisce notifiche automatiche per eventi anomali e offre un canale di trasporto per l'orchestrazione del cluster.
  • Strumento da linea di comando bctl:
    • Interfaccia unica che sostituisce oltre 10 comandi separati "pcp_*".
    • 3 formati di output: tabelle, JSON o formato invariato.
    • Output delle tabelle formattate con delimitazione per i dati runtime di pgbalancer.
    • Controllo remoto e modalità di output avanzato.
  • Workflow di GitHub Actions:
    • build-matrix.yml: Build su più piattaforme (Ubuntu, macOS, Rocky Linux).
    • Supporto per PostgreSQL 13-18.
    • Pacchetti DEB per Ubuntu 22.04/24.04, Debian 11/12.
    • Pacchetti RPM per Rocky 9, AlmaLinux 9, CentOS Stream 9.
    • Supporto per Autotools con integrazione autoreconf
    • docs.yml: Distribuzione della documentazione su GitHub Pages.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster