Skip to content

A load balancer with support for different middlewares and load balancing strategies, based on hyper and tokio

License

Notifications You must be signed in to change notification settings

another-rust-load-balancer/another-rust-load-balancer

Repository files navigation

Another Rust Load Balancer

ARLB

ARLB (Another Rust Load Balancer) is a reverse proxy and load balancer written in Rust based on hyper and tokio.

⚠️ This project is not considered production-ready and should not be used in such a context. It is merely a proof of concept and university project. For production-grade load balancers/reverse proxies, please refer to NGINX, HAProxy or Traefik.

Features

  • HTTP & HTTPS Termination
  • HTTP1.1 & HTTP2
  • IPv4 & IPv6 Listeners
  • Load Balancing Strategies
    • IP Hash
    • Least Connection
    • Random
    • Round Robin
    • Sticky Cookie
  • Middlewares
    • Compression (gzip, deflate, brotli)
    • HTTP Basic Auth (LDAP)
    • HTTP to HTTPS Redirect
    • Custom Error Pages
    • Max Request Body Size
    • Rate Limiting
  • Health Checks
  • ACME
  • Advanced Backend Matching Strategies
  • File based configuration
  • Reload configuration without restarting the process
  • Fast
  • Secure

Getting Started

Please have a look at the Getting Started guide.

Documentation

Authors/Contributors

This project was created for the High level languages: Rust course (winter term 20/21) of LMU Munich.

  • Adrodoc
  • Jonas Dellinger
  • lor-enz
  • Martinif
  • skess42
  • Zynaa

About

A load balancer with support for different middlewares and load balancing strategies, based on hyper and tokio

Topics

Resources

License

Stars

Watchers

Forks