Bol uverejnený prvý vydanie pgbalancer, vyvažovača zaťaženia PostgreSQL založeného na umelej inteligencii s REST API a MQTT. Pgbalancer zabezpečuje zpracovanie poolu pripojení a vyváženie zaťaženia pre PostgreSQL, spravované cez protokol HTTP a podporujúce streamovanie udalostí v reálnom čase. Projekt bol vytvorený ako fork pgpool-II s výraznými vylepšeniami pre inteligentné smerovanie požiadaviek. Kód je napísaný v jazyku C a distribuuje sa pod otvorenou licenciou PostgreSQL.
Hlavné funkcie a vlastnosti:
- Pool pripojení a vyváženie zaťaženia.
- Automatické prebudenie s podporou watchdog časovača.
- Monitorovanie dostupnosti a cacheovanie požiadaviek.
- SSL/TLS, PAM/LDAP autentifikácia.
- Kompatibilita s PostgreSQL 13-18.
- Je súčasťou utilít pgElephant, ktoré zabezpečujú vysokú dostupnosť. Môže sa integrovať s pgraft pre Raft konsenzus a podporuje monitoring pgSentinel.
- Vyváženie zaťaženia na báze AI.
- Algoritmy strojového učenia pre inteligentné smerovanie požiadaviek.
- Učenie sa prispôsobuje v závislosti od doby odozvy požiadaviek a stavu zdrojov. servera.
- Hodnotenie stavu v reálnom čase a predikcia vyváženia požiadaviek.
- Nastaviteľné parametre váh pre rýchlosť učenia a rýchlosť predpokladov náhodných udalostí.
- Možnosť integrácie s monitorovacími platformami Prometheus a Grafana.
Správa cez REST API.
- 17 funkcií HTTP/JSON pre kompletné riadenie klastru.
- Integrovaný server API fungujúci na porte 8080.
- JWT HMAC-SHA256 tokenová autentifikácia.
- Získanie štatistík a metrík stavu režimu vykonávania.
- Doba odozvy menej ako 10 ms.
Streamovanie udalostí MQTT.
- MQTT sa používa na publikovanie zmien stavu uzlov, prebudenie a kontroly stavu zdrojov v reálnom čase.
- Je možné nastaviť MQTT témy pre rôzne typy udalostí.
- Integrácia s Mosquitto, EMQX alebo akýmikoľvek MQTT brokerom.
- Zabezpečuje automatické upozornenie na anomálie a poskytuje transportný kanál pre orchestráciu klastru.
- Nástroj príkazového riadku bctl:
- Jednotné rozhranie nahrádzajúce viac ako 10 samostatných príkazov „pcp_*“.
- 3 formáty výstupu: tabuľky, JSON alebo formát bez zmien.
- Výstup naformátovaných tabuliek s rámcom pre runtime dáta pgbalancer.
- Diaľkové ovládanie a režim rozšíreného výstupu.
- GitHub Actions Workflow:
- build-matrix.yml: Syntézy na viacerých platformách (Ubuntu, macOS, Rocky Linux).
- Podpora PostgreSQL 13-18.
- DEB balíčky pre Ubuntu 22.04/24.04, Debian 11/12.
- RPM balíčky pre Rocky 9, AlmaLinux 9, CentOS Stream 9.
- Podpora Autotools s integráciou autoreconf.
- docs.yml: Nasadenie dokumentácie GitHub Pages.
Zdroj: opennet.ru
