Рубрики NewsSoftware

Cloudflare opens source code for Pingora Rust Framework

Published by Yurii Oros

Cloudflare announced about opening the Pingora source code under the Apache 2.0 license. Pingora — is an asynchronous, multi-threaded Rust framework for building programmable network services and has long been used inside Cloudflare for its ability to handle large volumes of traffic, and now Pingora is becoming open source software that can help build infrastructure outside of Cloudflare.

Cloudflare describes the Pingora framework as follows:

Pingora provides libraries and APIs to build services based on HTTP/1 and HTTP/2, TLS, or just TCP/UDP. As a proxy server, it supports end-to-end HTTP/1 and HTTP/2, gRPC, and web socket proxy. (HTTP/3 support is in the works.) It also comes with configurable load balancing and failover strategies. To ensure compliance and security, it supports the widely used OpenSSL and BoringSSL libraries, which meet FIPS and post-quantum encryption requirements.

In addition to these features, Pingora provides filters and callbacks to allow its users to fully customize how the service should process, transform, and forward requests. These APIs will be especially familiar to OpenResty and NGINX users, as many of them intuitively understand OpenResty’s “*_by_lua” callbacks.

Operationally, Pingora provides a soft restart with no downtime to refresh itself without losing any incoming requests. Syslog, Prometheus, Sentry, OpenTelemetry, and other must-have monitoring tools also integrate seamlessly with Pingora.

Cloudflare’s announcement of Pingora’s move to open source also includes an example of how to build a load balancer using it, transmits Pingora. Pingora, at pre-1.0, does not yet have a stable API, and Cloudflare has no plans to support non-Unix operating systems at this time.

Published by Yurii Oros