Den første udgivelse af pgbalancer, en AI-drevet PostgreSQL load balancer med en REST API og MQTT, er blevet udgivet. Pgbalancer leverer forbindelsespooling og load balancing til PostgreSQL, administreres via HTTP og understøtter streaming af begivenheder i realtid. Projektet er en fork af pgpool-II med betydelige forbedringer til intelligent forespørgselsrouting. Koden er skrevet i C og distribueret under PostgreSQL open source-licensen.
Nøglefunktioner og -muligheder:
- Forbindelsespooling og load balancing.
- Automatisk failover med understøttelse af watchdog-timer.
- Ydelsesovervågning og forespørgselscaching.
- Godkendelse SSL/TLS, PAM/LDAP.
- Kompatibel med PostgreSQL 13-18.
- Det er en del af pgElephant-værktøjerne med høj tilgængelighed. Det kan integreres med pgraft til Raft-konsensus og understøtter pgSentinel-overvågning.
- AI-drevet load balancing.
- Maskinlæringsalgoritmer til smart forespørgselsrouting.
- Træningen justeres afhængigt af svartid på anmodninger og ressourcernes status. server.
- Tilstanden vurderes i realtid, og anmodningsbalanceringen forudsiges.
- Konfigurerbare vægtparametre for læringshastighed og gættehastighed for tilfældige hændelser.
- Mulighed for integration med Prometheus og Grafana overvågningsplatforme.
Administration via REST API.
- 17 HTTP/JSON-funktioner til komplet klyngestyring.
- Integreret API-server, der kører på port 8080.
- Godkendelse med JWT HMAC-SHA256-tokens.
- Indhentning af statistikker og metrikker om udførelsestilstanden.
- Reaktionstid mindre end 10 ms.
MQTT-begivenhedsstreaming.
- MQTT bruges til at offentliggøre ændringer i nodetilstand, failover og sundhedstjek af ressourcer i realtid.
- Du kan konfigurere MQTT-emner for forskellige begivenhedstyper.
- Integration med Mosquitto, EMQX eller enhver MQTT-mægler.
- Giver automatisk besked om unormale hændelser og leverer en transportkanal til klyngeorkestrering.
- bctl kommandolinjeværktøj:
- En enkelt grænseflade, der erstatter over 10 separate "pcp_*"-kommandoer.
- 3 outputformater: tabeller, JSON eller umodificeret format.
- Output af formaterede tabeller med rammer til pgbalancer-kørselsdata.
- Fjernbetjening og udvidet outputtilstand.
- GitHub-handlingsworkflow:
- build-matrix.yml: Сборки на нескольких платформах (Ubuntu, macOS, Rocky Linux).
- PostgreSQL 13-18 understøttelse.
- DEB-пакеты для Ubuntu 22.04 / 24.04, Debian 11 / 12.
- RPM-пакеты для Rocky 9, AlmaLinux 9, CentOS Strøm 9.
- Autotools-understøttelse med autoreconf-integration
- docs.yml: Implementering af GitHub Pages-dokumentation.
Kilde: opennet.ru
