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

pingora

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

3 unstable releases

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

#8 in #load-balancing

Download history 39/week @ 2024-02-18 649/week @ 2024-02-25 739/week @ 2024-03-03 640/week @ 2024-03-10 846/week @ 2024-03-17 509/week @ 2024-03-24 850/week @ 2024-03-31 676/week @ 2024-04-07 580/week @ 2024-04-14 603/week @ 2024-04-21

2,763 downloads per month
Used in pingap

Apache-2.0

735KB
14K 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

~36–62MB
~1M SLoC