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

pingora

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

4 releases (2 breaking)

0.2.0 May 10, 2024
0.1.1 Apr 18, 2024
0.1.0 Feb 28, 2024
0.0.0 Dec 7, 2022

#1613 in Network programming

Download history 6/week @ 2024-02-15 248/week @ 2024-02-22 857/week @ 2024-02-29 791/week @ 2024-03-07 733/week @ 2024-03-14 605/week @ 2024-03-21 654/week @ 2024-03-28 785/week @ 2024-04-04 520/week @ 2024-04-11 725/week @ 2024-04-18 807/week @ 2024-04-25 570/week @ 2024-05-02 776/week @ 2024-05-09 655/week @ 2024-05-16

2,889 downloads per month
Used in 3 crates

Apache-2.0

760KB
15K 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

~35–60MB
~1M SLoC