Avalikustatud on pgbalancer, AI-põhine PostgreSQL koormuse tasakaalustaja, millel on REST API ja MQTT. Pgbalancer tagab ühenduste kogu töötlemise ja koormuse tasakaalustamise PostgreSQL-i jaoks, mida haldatakse HTTP-protokolli kaudu ning toetab reaalajas sündmuste voogedastust. Projekt on loodud pgpool-II haruna, millel on tõsised täiustused nutika päringute marsruutimise jaoks. Kood on kirjutatud keeles C ja on litsentseeritud PostgreSQL avatud litsentsi all.
Peamised omadused ja funktsioonid:
- Ühenduste kogu ja koormuse tasakaalustamine.
- Automaatne ebaõnnestumise üleminek koos vahtkonna ajastustoe toega.
- Toimivuse jälgimine ja päringute salvestamine.
- SSL/TLS, PAM/LDAP autentimine.
- Ühilduvus PostgreSQL 13-18.
- Osa pgElephant utiliidist, mis tagab kõrge kättesaadavuse. Saab integreerida pgraftiga Raft-konsensuse jaoks, toetatakse pgSentineli jälgimist.
- AI-põhine koormuse tasakaalustamine.
- Masinõppe algoritmid nutika päringute marsruutimise jaoks.
- Koolitamine kohandatakse vastavalt päringute vastamisajale ja ressursside seisundile. serverid.
- Seisundit hinnatakse reaalajas ja päringute tasakaalustamine ennustatakse.
- Kohandatavad kaalu parameetrid õpivõime ja juhuslike sündmuste prognoosi kiirus jaoks.
- Integreerimise võimalus valvurite jälgimise platvormidega nagu Prometheus ja Grafana.
Haldamine läbi REST API.
- 17 HTTP/JSON funktsiooni klastrihalduseks.
- Integreeritud server API, mis töötab pordil 8080.
- JWT HMAC-SHA256 tokenite autentimine.
- Seisundi täitmise statistika ja mõõdikute saamine.
- Vastamisaja alla 10 ms.
MQTT sündmuste voogedastus.
- MQTT kasutatakse sõlmede oleku muudatuste, ebaõnnestumise üleminekuse ja ressursside seisundi kontrollimise reaalajas avaldamiseks.
- MQTT teemasid saab konfigureerida erinevate sündmuste tüüpide jaoks.
- Integreerimine Mosquitto, EMQX või mis tahes MQTT-vahendiga.
- Tagab automaatse teavituse erakorraliste sündmuste korral ja pakub transportkanalit klastrihalduseks.
- Käskude abivahend bctl:
- Üksikliides, mis asendab rohkem kui 10 eraldi käsku 'pcp_*'.
- 3 väljundiformaati: tabelid, JSON või muutumatud formaadid.
- Väljund vormindatud tabelitest, millel on raamid pgbalancer'i jooksuandmete jaoks.
- Kaugjuhtimine ja laiendatud väljundirežiim.
- GitHub Actions töövoog:
- build-matrix.yml: Ehitus mitmetel platvormidel (Ubuntu, macOS, Rocky Linux).
- Toetatakse PostgreSQL 13-18.
- DEB-paketid Ubuntu 22.04/24.04, Debian 11/12 jaoks.
- RPM-paketid Rocky 9, AlmaLinux 9, CentOS Stream 9 jaoks.
- Autotools-i tugi koos autoreconf integratsiooniga.
- docs.yml: GitHub Pages'i dokumentatsiooni juurutamine.
Allikas: opennet.ru
