ĂshtĂ« publikuar numri i parĂ« i pgbalancer, njĂ« balancues ngarkese PostgreSQL i bazuar nĂ« inteligjencĂ«n artificiale me REST API dhe MQTT. Pgbalancer siguron pĂ«rpunimin e grupit tĂ« lidhjeve dhe balancimin e ngarkesĂ«s pĂ«r PostgreSQL, drejtohet pĂ«rmes protokollit HTTP dhe mbĂ«shtet transmetimin e ngjarjeve nĂ« kohĂ« reale. Projekti Ă«shtĂ« krijuar si njĂ« fork i pgpool-II me pĂ«rmirĂ«sime tĂ« dukshme pĂ«r rrugĂ«zimin inteligjent tĂ« kĂ«rkesave. Kodi Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe shpĂ«rndahet nĂ«n licencĂ«n e hapur PostgreSQL.
Veçoritë dhe karakteristikat kryesore:
- Grupi i lidhjeve dhe balancimi i ngarkesës.
- Ndërrimi automatik në rast aksidenti me mbështetje nga orari i ruajtjes.
- Monitorimi i funksionimit dhe ruajtja e kërkesave.
- Autentifikimi SSL/TLS, PAM/LDAP.
- Përputhshmëri me PostgreSQL 13-18.
- ĂshtĂ« pjesĂ« e utilitarĂ«ve pgElephant qĂ« sigurojnĂ« disponibilitet tĂ« lartĂ«. Mund tĂ« integrohet me pgraft pĂ«r konsensusin Raft, mbĂ«shtetet monitorimi nga pgSentinel.
- Balancimi i ngarkesës mbi bazën e inteligjencës artificiale.
- Algoritmet e mësimit të makinës për rrugëzim inteligjent të kërkesave.
- Mësimi përshtatet në varësi të kohës së përgjigjes së kërkesave dhe gjendjes së burimeve. serverit.
- Vlerësimi i gjendjes në kohë reale dhe parashikimi i balancimit të kërkesave.
- Parametrat e peshave të konfigurueshme për shpejtësinë e mësimit dhe shpejtësinë e parashikimeve të ngjarjeve rastësore.
- Mundësia e integrimit me platforma monitorimi Prometheus dhe Grafana.
Menaxhimi përmes REST API.
- 17 funksione HTTP/JSON për menaxhimin e plotë të klasterit.
- Integruar server API, i cili funksionon në portin 8080.
- Autentifikimi me tokene JWT HMAC-SHA256.
- Marrja e statistikave dhe metrike të gjendjes së funksionimit.
- Koha e përgjigjes më pak se 10 ms.
Transmitimi i ngjarjeve MQTT.
- MQTT përdoret për publikimin e ndryshimeve të gjendjes së nyjeve, ndërrimit automatik dhe verifikimeve të gjendjes së burimeve në kohë reale.
- Mund të konfigurohen tema MQTT për lloje të ndryshme ngjarjesh.
- Integrimi me Mosquitto, EMQX ose çdo broker MQTT.
- Siguron njoftime automatike për ngjarje të jashtëzakonshme dhe ofron një kanal transporti për orkestrimin e klasterit.
- Utilitari i linjës së komandës bctl:
- Një ndërfaqe e vetme që zëvendëson më shumë se 10 komanda të ndara "pcp_*".
- 3 formate dalëse: tabela, JSON ose format të pandryshuar.
- Dalja e tabelave të formatizuara me kufizime për të dhënat runtime të pgbalancer.
- Menaxhim të largët dhe modalitet të daljes së zgjeruar.
- GitHub Actions Workflow:
- build-matrix.yml: Ndërtime në platforma të shumëfishta (Ubuntu, macOS, Rocky Linux).
- Mbështetje për PostgreSQL 13-18.
- DEB-paketat për Ubuntu 22.04/24.04, Debian 11/12.
- RPM-paketat për Rocky 9, AlmaLinux 9, CentOS Stream 9.
- Mbështetje për Autotools me integrim autoreconf.
- docs.yml: Shpërndarja e dokumentacionit në GitHub Pages.
Burimi: opennet.ru
