The right backend.
Every single time.
Choose from 16 balancing algorithms. Spread traffic evenly, follow the fewest connections, or keep sessions on a consistent backend.
ILLUSTRATIVE TRAFFIC DISTRIBUTIONThe clear path between your users
and your infrastructure.
Route, protect, and observe your traffic with a minimal-dependency L4/L7 load balancer. One Go binary. Full control.
A focused data plane. A complete set of tools. Everything you need to put your services on the right path.
Choose from 16 balancing algorithms. Spread traffic evenly, follow the fewest connections, or keep sessions on a consistent backend.
ILLUSTRATIVE TRAFFIC DISTRIBUTIONActive and passive health checks, circuit breakers, and graceful draining keep unhealthy backends out of rotation.
Health & resilienceTLS termination, automatic ACME certificates, mTLS, and a six-layer WAF with rate limiting and attack detection.
Meet the WAFA built-in web dashboard, Prometheus metrics, and structured logs. Visibility without another control plane.
Observability & APIRaft consensus and SWIM gossip coordinate your cluster. Discover services through DNS, Consul, Docker, or files.
Explore clusteringFrom the first connection to the final backend, a pipeline you can understand, configure, and make your own.
Listeners accept connections. Middleware applies policy. Host, path, and SNI routing select a pool; the balancer selects a healthy backend.
Reload configuration through SIGHUP or the admin API. Inspect services in the dashboard, query the admin API, or connect an AI agent through MCP.
Route by host and path, terminate TLS, and apply rate limits before requests reach your application.
Proxy WebSockets, gRPC, and server-sent events. Use connection-aware balancing for long-lived traffic.
Discover new backends, drain existing ones, and mirror a percentage of requests to a staging pool.
Install the binary, point it at your services, and start sending traffic.
curl -fsSL https://openloadbalancer.dev/install.sh | shOr download a prebuilt binary from GitHub Releases .
Save this as olb.yaml. Replace the backend addresses with your services. Each should expose /health.
Use port 8080 for traffic and localhost:9090 for the admin interface.
olb config validate --config olb.yaml
olb start --config olb.yamlversion: 1 admin: address: "127.0.0.1:9090" listeners: - name: http protocol: http address: ":8080" routes: - name: default path: / pool: backend pools: - name: backend algorithm: round_robin health_check: type: http path: /health interval: 10s timeout: 5s backends: - id: backend-1 address: "127.0.0.1:7091" - id: backend-2 address: "127.0.0.1:7092"Choose the format that fits your workflow.
Read the source. Ask a question. Ship a contribution. OpenLoadBalancer is Apache 2.0 licensed, with its development happening in the open.