
5. aprila 2024. Cloudflare je predstavio prvo javno izdanje projekta otvorenog koda Pingora v0.1.0 (već v0.1.1). To je asinhroni višenitni okvir u Rustu koji pomaže u kreiranju HTTP proxy usluga. Projekat se koristi za kreiranje servisa koji pružaju značajan dio prometa Cloudflareu (umjesto korištenja Nginxa). Pingora izvorni kod je objavljen na GitHub-u pod licencom Apache 2.0.
Pingora pruža biblioteke i API-je za izgradnju servisa preko HTTP/1 i HTTP/2, TLS-a ili jednostavno TCP/UDP-a. Kao proxyserver Podržava end-to-end proxying HTTP/1 i HTTP/2, gRPC i WebSocket. Planirana je i podrška za HTTP/3. Pingora također uključuje konfigurabilne strategije balansiranja opterećenja i prebacivanja u slučaju kvara. Kako bi se osigurala usklađenost i sigurnost, podržava široko korištene biblioteke OpenSSL i BoringSSL, koje su kompatibilne sa FIPS (Federal Information Processing Standards) standardima i imaju post-kvantnu enkripciju.
Pored ovih karakteristika, Pingora nudi filtere i povratne pozive koji omogućavaju korisnicima da u potpunosti prilagode način na koji servis treba da obrađuje, transformiše i prosleđuje zahteve.
U produkcijskom modu, Pingora omogućava glatko ponovno pokretanje bez zastoja kako bi se ažurirala bez gubitka dolaznih zahtjeva. Syslog, Prometheus, Sentry, OpenTelemetry i drugi bitni alati za praćenje se neprimjetno integriraju sa Pingorom.
Pingora karakteristike: upotreba Async Rust-a, podrška za HTTP 1/2 end-to-end proxy, TLS preko OpenSSL-a ili BoringSSL-a, gRPC i websocket proxy, Graceful ponovno učitavanje, prilagodljivo balansiranje opterećenja i strategije prevazilaženja greške, podrška za različite alate za praćenje.
Pingora v0.1.1 popravlja prethodno otkrivene greške, poboljšava performanse pingora-ketama algoritma, dodaje više TinyUFO benchmark-a i testova za čišćenje pingora-cachea, ograničava veličinu bafera za dnevnike grešaka InvalidHTTPHeader, a također popravlja greške u kucanju i vrši potrebne ispravke u komentarima i projekat dokumentacije.
izvor: linux.org.ru
