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. serverilt.
- 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
