Cloudflare har publicerat den första versionen av Pingora-ramverket, som är avsett för utveckling av säkra, högpresterande nätverkstjänster på Rust-språket. Proxy som byggts med Pingora har använts i Cloudflares innehållsleveransnätverk i cirka ett år istället för nginx och hanterar över 40 miljoner förfrågningar per sekund. Koden är skriven i Rust och publicerad under Apache 2.0-licensen.
Key features:
- Stöd för HTTP/1 och HTTP/2 (planerat HTTP/3), samt möjligheter att skapa tjänster som använder egna protokoll eller UDP/TCP.
- Möjlighet till flertrådad hantering av förfrågningar i asynkront läge.
- Stöd för att bifoga callback-hanterare och filter, vilket möjliggör hantering av olika stadier av förfrågningsbehandling samt att ändra, omdirigera, blockera och logga förfrågningar och svar.
- Proxy för gRPC och WebSocket.
- Anpassningsbara lastbalanserare.
- Möjlighet att ändra konfigurationen utan omstart.
- Stöd för att uppdatera applikationskoden utan att bryta anslutningar.
- Verktyg för lastväxling vid fel (failover).
- Integration med olika övervaknings- och logghanteringssystem (Syslog, Prometheus, Sentry, OpenTelemetry).
- Stöd för TLS-kryptering (använder OpenSSL eller BoringSSL).
- Färdiga Rust-paket för att skapa HTTP-proxy, arbeta med nätverksprotokoll, analysera HTTP-rubriker, övervaka och begränsa trafik, balansera last, arbeta med den distribuerade hash-tabellen Ketama, upprätthålla cache i minnet samt asynkron hantering av tidsgränser.
Källa: opennet.ru
