
5. aprillil 2024 esitles Cloudflare avatud lähtekoodiga projekti Pingora v0.1.0 (juba v0.1.1) esimest avalikku väljalaset. See on Rusti asünkroonne mitme lõimega raamistik, mis aitab luua HTTP-puhverserveri teenuseid. Projekti kasutatakse teenuste loomiseks, mis pakuvad märkimisväärse osa Cloudflare'i liiklusest (Nginxi kasutamise asemel). Pingora lähtekood avaldatakse GitHubis Apache 2.0 litsentsi alusel.
Pingora pakub teeke ja API-sid teenuste loomiseks HTTP/1 ja HTTP/2, TLS-i või lihtsalt TCP/UDP kaudu. Proksi vahenduselserver See toetab HTTP/1 ja HTTP/2 otsast lõpuni puhverserverit, gRPC-d ja WebSocketit. Plaanis on ka HTTP/3 tugi. Pingora sisaldab ka konfigureeritavaid koormuse tasakaalustamise ja tõrkesiirde strateegiaid. Nõuetele vastavuse ja turvalisuse tagamiseks toetab see nii laialdaselt kasutatavaid OpenSSL-i kui ka BoringSSL-i teeke, mis on FIPS-iga (föderaalsed infotöötlusstandardid) ühilduvad, ja postkvantkrüptimist.
Lisaks nendele funktsioonidele pakub Pingora filtreid ja tagasihelistamisi, mis võimaldavad kasutajatel täielikult kohandada, kuidas teenus peaks taotlusi töötlema, muutma ja edastama.
Tootmisrežiimis pakub Pingora sujuvat taaskäivitamist ilma seisakuta, et end värskendada ilma sissetulevaid taotlusi kaotamata. Syslog, Prometheus, Sentry, OpenTelemetry ja muud olulised jälgimistööriistad integreeruvad sujuvalt Pingoraga.
Pingora funktsioonid: Async Rust kasutamine, HTTP 1/2 otsast lõpuni puhverserveri tugi, TLS üle OpenSSL või BoringSSL, gRPC ja veebisocket puhverserver, Graceful reload, kohandatavad koormuse tasakaalustamise ja tõrkeotsingu strateegiad, erinevate jälgimistööriistade tugi.
Pingora v0.1.1 parandab varem avastatud vead, parandab pingora-ketama algoritmi jõudlust, lisab rohkem TinyUFO võrdlusaluseid ja teste pingora vahemälu tühjendamiseks, piirab InvalidHTTPHeaderi vealogide puhvri suurust ning parandab ka kirjavead ja teeb kommentaarides vajalikud parandused ja dokumentatsiooni projekt.
Allikas: linux.org.ru
