Bylo publikováno první vydání pgbalancer, zatížení vyvažovače PostgreSQL založeného na umělé inteligenci s REST API a MQTT. Pgbalancer zajišťuje zpracování poolu připojení a vyvážení zátěže pro PostgreSQL, spravuje se přes HTTP protokol a podporuje streamování událostí v reálném čase. Projekt byl vytvořen jako fork pgpool-II s významnými vylepšeními pro inteligentní směrování dotazů. Kód je napsán v jazyce C a je distribuován pod otevřenou licencí PostgreSQL.
Hlavní vlastnosti a funkce:
- Pool připojení a vyvážení zátěže.
- Automatické přepínání na záložní systém s podporou watchdog časovače.
- Monitorování provozuschopnosti a caching dotazů.
- SSL/TLS, PAM/LDAP autentizace.
- Kompatibilita s PostgreSQL 13-18.
- Je součástí utilit pgElephant, které zajišťují vysokou dostupnost. Může se integrovat s pgraft pro Raft konsensus, podpora pro monitorování pgSentinel.
- Vyvážení zátěže založené na AI.
- Algoritmy strojového učení pro inteligentní směrování dotazů.
- Učení se přizpůsobuje v závislosti na čase odezvy dotazů a stavu zdrojů serveru.
- Stav je hodnocen v reálném čase a je předpovídáno vyvážení dotazů.
- Nastavitelné parametry váhy pro rychlost učení a rychlost předpokladů náhodných událostí.
- Možnost integrace s monitorovacími platformami Prometheus a Grafana.
Správa přes REST API.
- 17 funkcí HTTP/JSON pro kompletní řízení klastru.
- Integrované server API běžící na portu 8080.
- JWT HMAC-SHA256 tokenová autentizace.
- Získávání statistik a metrik stavu provozu.
- Doba odezvy méně než 10 ms.
Streamování událostí MQTT.
- MQTT se používá pro publikování změn stavu uzlů, přepínání na záložní systém a kontroly stavu zdrojů v reálném čase.
- Je možné nastavit MQTT topiky pro různé typy událostí.
- Integrace s Mosquitto, EMQX nebo jakýmkoli MQTT brokerem.
- Zajišťuje automatické upozornění na neplánované události a poskytuje komunikační kanál pro orchestrace clustrů.
- Příkazový řádek bctl:
- Jednotné rozhraní nahrazující více než 10 jednotlivých příkazů „pcp_*“.
- 3 formáty výstupu: tabulky, JSON nebo formát beze změn.
- Výstup formátovaných tabulek s ohraničením pro runtime data pgbalancer.
- Vzdálené řízení a režim rozšířeného výstupu.
- GitHub Actions Workflow:
- build-matrix.yml: Sestavení na více platformách (Ubuntu, macOS, Rocky Linux).
- Podpora PostgreSQL 13-18.
- DEB balíčky pro Ubuntu 22.04/24.04, Debian 11/12.
- RPM balíčky pro Rocky 9, AlmaLinux 9, CentOS Stream 9.
- Podpora Autotools s integrací autoreconf
- docs.yml: Nasazení dokumentace GitHub Pages.
Zdroj: opennet.ru
