Megjelent a pgbalancer első kiadása, a PostgreSQL terheléselosztója mesterséges intelligencia alapú REST API-val és MQTT-vel. A pgbalancer kapcsolatmedencét és terheléselosztást biztosít a PostgreSQL-hez, HTTP protokollon keresztül vezérelhető, és támogatja a valós idejű eseményátvitelt. A projekt a pgpool-II forkjaként jött létre, jelentős fejlesztésekkel az okos lekérdezésirányításhoz. A kód C nyelven íródott és PostgreSQL nyilvános licenc alatt terjesztik.
Fő funkciók és jellemzők:
- Kapcsolatmédia és terheléselosztás.
- Automatikus átkapcsolás, figyelő időzítő támogatással.
- Működési állapot megfigyelése és lekérdezések gyorsítótárazása.
- SSL/TLS, PAM/LDAP hitelesítés.
- Kompatibilitás PostgreSQL 13-18 verziókkal.
- A pgElephant eszközök része, amely a magas rendelkezésre állást biztosítja. Integrálható a pgraft-tal a Raft konszenzus érdekében, pgSentinel monitorozást támogat.
- AI-alapú terheléselosztás.
- Gépi tanulási algoritmusok az okos lekérdezésirányításhoz.
- A tanulás alkalmazkodik a lekérdezések válaszidőjéhez és az erőforrások állapotához. a szerver.
- Valós idejű állapotértékelés és lekérdezésbalanszírozás előrejelzése.
- Testreszabható súlyparaméterek a tanulási sebesség és a véletlenszerű események előrejelzésének sebességéhez.
- Integrációs lehetőség a Prometheus és Grafana monitorozó platformokkal.
Kezelés REST API-n keresztül.
- 17 HTTP/JSON funkció a klaszter teljes körű kezeléséhez.
- Integrált szerver API, amely a 8080-as porton működik.
- JWT HMAC-SHA256 tokenek hitelesítése.
- Statisztikák és állapotmetrikkék lekérdezése a futási módhoz.
- Válaszidő kevesebb mint 10 ms.
MQTT eseményátvitel.
- Az MQTT-t a csomópontok állapotának változásainak publikálására, átkapcsolásra és valós idejű erőforrás-ellenőrzésekre használják.
- MQTT témák testreszabása különböző eseménytípusokhoz.
- Integráció a Mosquitto, EMQX vagy bármely MQTT brokerrel.
- Automatikus értesítést biztosít rendellenes eseményekről és tranzitcsatornát nyújt a klaszter orkestrálásához.
- A bctl parancssori eszköz:
- Egyesített felület, amely több mint 10 külön parancsot helyettesít "pcp_*".
- 3 kimeneti formátum: táblázatok, JSON vagy változatlan formátum.
- Megformázott táblázatok kimenete keretezéssel a pgbalancer runtime adataihoz.
- Távvezérlés és kiterjesztett megjelenítési mód.
- GitHub Actions Workflow:
- build-matrix.yml: Több platformra (Ubuntu, macOS, Rocky Linux) készült build-ek.
- PostgreSQL 13-18 támogatás.
- DEB csomagok Ubuntu 22.04/24.04, Debian 11/12 számára.
- RPM csomagok Rocky 9, AlmaLinux 9, CentOS Stream 9 számára.
- Autotools támogatás autoreconf integrációval.
- docs.yml: Dokumentáció telepítése GitHub Pages-en.
Forrás: opennet.ru
