
Den 5. april 2024 præsenterede Cloudflare den første offentlige udgivelse af open source-projektet Pingora v0.1.0 (allerede v0.1.1). Det er en asynkron multi-threaded framework i Rust, der hjælper med at skabe HTTP proxy-tjenester. Projektet bruges til at skabe tjenester, der leverer en betydelig del af trafikken til Cloudflare (i stedet for at bruge Nginx). Pingora-kildekoden er udgivet på GitHub under Apache 2.0-licensen.
Pingora leverer biblioteker og API'er til at bygge tjenester over HTTP/1 og HTTP/2, TLS eller blot TCP/UDP. Som en proxyserver Den understøtter end-to-end proxying af HTTP/1 og HTTP/2, gRPC og WebSocket. HTTP/3-understøttelse er planlagt. Pingora inkluderer også konfigurerbare load balancing- og failover-strategier. For at sikre compliance og sikkerhed understøtter den både de udbredte OpenSSL- og BoringSSL-biblioteker, som er FIPS-kompatible (Federal Information Processing Standards) og post-quantum-kryptering.
Ud over disse funktioner tilbyder Pingora filtre og tilbagekald, der giver brugerne mulighed for fuldt ud at tilpasse, hvordan tjenesten skal behandle, transformere og videresende anmodninger.
I produktionstilstand giver Pingora en jævn genstart uden nedetid til at opdatere sig selv uden at miste indgående anmodninger. Syslog, Prometheus, Sentry, OpenTelemetry og andre vigtige overvågningsværktøjer integreres problemfrit med Pingora.
Pingora-funktioner: brug af Async Rust, understøttelse af HTTP 1/2 ende-til-ende-proxy, TLS over OpenSSL eller BoringSSL, gRPC og websocket-proxy, yndefuld genindlæsning, tilpasselig belastningsbalancering og failover-strategier, understøttelse af forskellige overvågningsværktøjer.
Pingora v0.1.1 retter tidligere opdagede fejl, forbedrer ydeevnen af pingora-ketama-algoritmen, tilføjer flere TinyUFO-benchmarks og tests til pingora-cache-rensning, begrænser bufferstørrelsen for InvalidHTTPHeader-fejllogfiler og retter også stavefejl og foretager nødvendige rettelser i kommentarer og dokumentationsprojekt.
Kilde: linux.org.ru
