Cloudflare released the first public release of Pingora v0.1.0

Cloudflare released the first public release of Pingora v0.1.0

On April 5, 2024, Cloudflare presented the first public release of the open source project Pingora v0.1.0 (already v0.1.1). It is an asynchronous multi-threaded framework in Rust that helps create HTTP proxy services. The project is used to create services that provide a significant portion of the traffic to Cloudflare (instead of using Nginx). The Pingora source code is published on GitHub under the Apache 2.0 license.

Pingora provides libraries and APIs for creating services over HTTP/1 and HTTP/2, TLS or simply TCP/UDP. As a proxy, it supports end-to-end proxying of HTTP/1 and HTTP/2, gRPC and WebSocket. HTTP/3 support is in the plans. Pingora also includes customizable load balancing and failover strategies. To ensure compliance and security, it supports both the widely used OpenSSL and BoringSSL libraries, which are FIPS (US Federal Information Processing Standards) and post-quantum encryption compliant.

In addition to these features, Pingora provides filters and callbacks that allow users to fully customize how the service should process, transform, and forward requests.

In production mode, Pingora provides a smooth restart with no downtime to update itself without losing any incoming requests. Syslog, Prometheus, Sentry, OpenTelemetry and other essential monitoring tools integrate seamlessly with Pingora.

Pingora features: use of Async Rust, support for HTTP 1/2 end to end proxy, TLS over OpenSSL or BoringSSL, gRPC and websocket proxying, Graceful reload, customizable load balancing and failover strategies, support for various monitoring tools.

Pingora v0.1.1 fixes previously discovered bugs, improves the performance of the pingora-ketama algorithm, adds more TinyUFO benchmarks and tests for pingora-cache purge, limits the buffer size for InvalidHTTPHeader error logs, and also fixes typos and makes necessary corrections in comments and documentation project.

Source: linux.org.ru

Add a comment