#proxy #load-balancing #async #http-proxy #networking #http #back-end

pingora

A framework to build fast, reliable and programmable networked systems at Internet scale

5 releases (3 breaking)

new 0.3.0 Jul 12, 2024
0.2.0 May 10, 2024
0.1.1 Apr 18, 2024
0.1.0 Feb 28, 2024
0.0.0 Dec 7, 2022

#1567 in Network programming

Download history 772/week @ 2024-03-29 739/week @ 2024-04-05 524/week @ 2024-04-12 689/week @ 2024-04-19 777/week @ 2024-04-26 586/week @ 2024-05-03 769/week @ 2024-05-10 708/week @ 2024-05-17 583/week @ 2024-05-24 412/week @ 2024-05-31 559/week @ 2024-06-07 514/week @ 2024-06-14 640/week @ 2024-06-21 661/week @ 2024-06-28 669/week @ 2024-07-05 846/week @ 2024-07-12

2,902 downloads per month
Used in 6 crates

Apache-2.0

795KB
16K SLoC

Pingora

Pingora is a framework to build fast, reliable and programmable networked systems at Internet scale.

Features

  • Http 1.x and Http 2
  • Modern TLS with OpenSSL or BoringSSL (FIPS compatible)
  • Zero downtime upgrade

Usage

This crate provides low level service and protocol implementation and abstraction.

If looking to build a (reverse) proxy, see pingora-proxy crate.

features

  • openssl: Using OpenSSL as the internal TLS backend. This feature is default on.
  • boringssl: Switch the internal TLS library from OpenSSL to BoringSSL. This feature will disable openssl.
  • proxy: This feature will include and export pingora_proxy::prelude::*.
  • lb: This feature will include and export pingora_load_balancing::prelude::*.
  • cache: This feature will include and export pingora_cache::prelude::*.

Dependencies

~34–60MB
~1M SLoC