MCPcopy Index your code
hub / github.com/another-rust-load-balancer/another-rust-load-balancer

github.com/another-rust-load-balancer/another-rust-load-balancer @1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.0 ↗ · + Follow
256 symbols 480 edges 25 files 23 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

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

Extension points exported contracts — how you extend this code

Middleware (Interface)
(no doc) [7 implementers]
src/middleware/mod.rs
LoadBalancingStrategy (Interface)
(no doc) [5 implementers]
src/load_balancing/mod.rs
AcceptorProducer (Interface)
(no doc) [2 implementers]
src/listeners.rs
RemoteAddress (Interface)
(no doc) [2 implementers]
src/listeners.rs

Core symbols most depended-on inside this repo

get_preferred_encoding
called by 12
src/middleware/compression.rs
to_char_vec
called by 10
src/backend_pool_matcher.rs
space
called by 9
src/backend_pool_matcher.rs
build
called by 9
src/server.rs
to_str
called by 9
src/middleware/compression.rs
user_authentication
called by 8
src/middleware/authentication.rs
string
called by 7
src/backend_pool_matcher.rs
bad_request
called by 4
src/error_response.rs

Shape

Function 123
Method 87
Class 34
Enum 8
Interface 4

Languages

Rust100%

Modules by API surface

src/backend_pool_matcher.rs38 symbols
src/configuration.rs33 symbols
src/middleware/compression.rs23 symbols
src/server.rs20 symbols
src/acme.rs15 symbols
src/middleware/authentication.rs12 symbols
src/load_balancing/mod.rs12 symbols
src/middleware/mod.rs11 symbols
src/http_client.rs11 symbols
src/error_response.rs9 symbols
src/tls.rs8 symbols
src/listeners.rs8 symbols

For agents

$ claude mcp add another-rust-load-balancer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page