5. dubna 2024 představil Cloudflare první veřejné vydání open source projektu Pingora v0.1.0 (již v0.1.1). Jedná se o asynchronní vícevláknový rámec v Rustu, který pomáhá vytvářet HTTP proxy služby. Projekt se používá k vytváření služeb, které poskytují významnou část provozu Cloudflare (místo použití Nginx). Zdrojový kód Pingora je publikován na GitHubu pod licencí Apache 2.0.
Pingora poskytuje knihovny a API pro vytváření služeb přes HTTP/1 a HTTP/2, TLS nebo jednoduše TCP/UDP. Jako proxy podporuje end-to-end proxy HTTP/1 a HTTP/2, gRPC a WebSocket. Podpora HTTP/3 je v plánu. Pingora také obsahuje přizpůsobitelné vyvažování zátěže a strategie převzetí služeb při selhání. Pro zajištění souladu a bezpečnosti podporuje jak široce používané knihovny OpenSSL, tak BoringSSL, které jsou kompatibilní s FIPS (US Federal Information Processing Standards) a post-kvantovým šifrováním.
Kromě těchto funkcí poskytuje Pingora filtry a zpětná volání, které uživatelům umožňují plně přizpůsobit, jak má služba zpracovávat, transformovat a předávat požadavky.
V produkčním režimu poskytuje Pingora plynulý restart bez prostojů, aby se sám aktualizoval bez ztráty jakýchkoli příchozích požadavků. Syslog, Prometheus, Sentry, OpenTelemetry a další základní monitorovací nástroje se hladce integrují s Pingora.
Funkce Pingora: použití Async Rust, podpora HTTP 1/2 end-to-end proxy, TLS přes OpenSSL nebo BoringSSL, gRPC a websocket proxy, Graceful reload, přizpůsobitelné vyvažování zátěže a strategie převzetí služeb při selhání, podpora různých monitorovacích nástrojů.
Pingora v0.1.1 opravuje dříve objevené chyby, zlepšuje výkon algoritmu pingora-ketama, přidává další benchmarky TinyUFO a testy pro čištění mezipaměti pingora, omezuje velikost vyrovnávací paměti pro chybové protokoly InvalidHTTPHeader a také opravuje překlepy a provádí nezbytné opravy v komentářích a dokumentační projekt.
Zdroj: linux.org.ru