
5. travnja 2024. godine Cloudflare je predstavio prvo javno izdanje otvorenog projekta Pingora v0.1.0 (već v0.1.1). To je asinkroni višedretveni okvir na Rustu koji pomaže u stvaranju HTTP proxy usluga. Projekt se koristi za izradu usluga koje osiguravaju značajan dio prometa u Cloudflare (umjesto korištenja Nginx-a). Izvorni kod Pingora objavljen je na GitHubu pod licencom Apache 2.0.
Pingora pruža knjižnice i API za izradu usluga iznad HTTP/1 i HTTP/2, TLS ili jednostavno TCP/UDP. Kao proxy,poslužitelja podržava end-to-end proxy HTTP/1 i HTTP/2, gRPC i WebSocket. Podrška za HTTP/3 je u planu. Pingora također uključuje prilagodljive strategije ravnoteže opterećenja i prebacivanja u slučaju kvara. Kako bi zadovoljio zahtjeve i sigurnost, podržava i široko korištene biblioteke OpenSSL i BoringSSL, koje ispunjavaju zahtjeve FIPS (saveznih standarda obrade informacija SAD-a) i post-kvantne enkripcije.
Osim tih funkcija, Pingora pruža filtere i povratne pozive koji korisnicima omogućuju potpunu prilagodbu načina na koji usluga treba obrađivati, transformirati i proslijediti zahtjeve.
U radnom režimu Pingora omogućuje glatko ponovno pokretanje bez zastoja za samostalna ažuriranja, ne gubeći niti jedan dolazni zahtjev. Syslog, Prometheus, Sentry, OpenTelemetry i drugi potrebni alati za nadzor lako se integriraju s Pingorom.
Mogućnosti Pingore: korištenje Async Rust, podrška za HTTP 1/2 end-to-end proxy, TLS preko OpenSSL ili BoringSSL, gRPC i proxyiranje web-soketa, Graceful reload, prilagodljive strategije ravnoteže opterećenja i prebacivanja u slučaju kvara, podrška za razne alate za praćenje.
U verziji Pingora v0.1.1 ispravljene su ranije otkrivene greške, poboljšana je izvedba algoritma pingora-ketama, dodani su dodatni benchmarkovi TinyUFO i testovi za pingora-cache purge, ograničena je veličina spremnika za dnevnik grešaka InvalidHTTPHeader, a također su ispravljene tipografske greške i izvršene potrebne korekcije u komentarima i dokumentaciji projekta.
Izvor: linux.org.ru
