OpenLoadBalancer — Your traffic. Your rules.
BUILT IN GO. OPEN BY DESIGN.

Your traffic.
Your rules.

The 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.

HTTP / HTTPS TCP / UDPAPACHE 2.0
REQUEST IN. POSSIBILITY OUT.
TRAFFIC EXPLORERILLUSTRATIVE
One entry point.
Every request in the right place.
:8080
HTTP/SgRPCTCP/UDPROUTE · PROTECT · BALANCEbackend 01HEALTHYbackend 02HEALTHYbackend 03HEALTHY
Distribute requests across healthy backends in turn.
YOUR INFRASTRUCTURE, CONNECTED.01 — 03 ●
Speaks your stack.
HTTP / 2WebSocketgRPCServer-Sent EventsTCP & UDPSNI
01 / BUILT FOR THE TRAFFIC AHEAD

Less to operate.
More under control.

A focused data plane. A complete set of tools. Everything you need to put your services on the right path.

Explore all capabilities

A healthier path forward.

Active and passive health checks, circuit breakers, and graceful draining keep unhealthy backends out of rotation.

Health & resilience

Protection at the edge.

TLS termination, automatic ACME certificates, mTLS, and a six-layer WAF with rate limiting and attack detection.

Meet the WAF

See what’s happening.

A built-in web dashboard, Prometheus metrics, and structured logs. Visibility without another control plane.

Observability & API

Ready for your next node.

Raft consensus and SWIM gossip coordinate your cluster. Discover services through DNS, Consul, Docker, or files.

Explore clustering
02 / A CLEAR LINE OF SIGHT

One binary.
A connected system.

From the first connection to the final backend, a pipeline you can understand, configure, and make your own.

PURE GO
L4 + L7
01ListenersL4 / L7 · TLS02MiddlewareWAF · Rate limits03RouterHost · Path · SNI04BalancerSelect healthy target05Backend poolProxy the requestCONFIGURATION · SERVICE DISCOVERY · RAFT CLUSTERING · METRICS · ADMIN API · MCP01ListenersL4 / L7 · TLS02MiddlewareWAF · Rate limits03RouterHost · Path · SNI04BalancerSelect healthy target05Backend poolProxy the request
01 / DATA PLANE

Traffic takes the direct route.

Listeners accept connections. Middleware applies policy. Host, path, and SNI routing select a pool; the balancer selects a healthy backend.

02 / CONTROL PLANE

Operations stay within reach.

Reload configuration through SIGHUP or the admin API. Inspect services in the dashboard, query the admin API, or connect an AI agent through MCP.

Go deeper into
the architecture
03 / YOUR STACK. YOUR SCALE.

A good fit.
From first service to many.

01
API gateways

Give your APIs a front door.

Route by host and path, terminate TLS, and apply rate limits before requests reach your application.

02
Real-time services

Keep real-time connections moving.

Proxy WebSockets, gRPC, and server-sent events. Use connection-aware balancing for long-lived traffic.

03
Service operations

Make change part of the flow.

Discover new backends, drain existing ones, and mirror a percentage of requests to a staging pool.

04 / FROM ZERO TO ROUTING

A few lines.
An open road.

Install the binary, point it at your services, and start sending traffic.

Install · Linux / macOS
curl -fsSL https://openloadbalancer.dev/install.sh | sh
  1. 1
    Install OpenLoadBalancer

    Or download a prebuilt binary from GitHub Releases .

  2. 2
    Make it yours

    Save this as olb.yaml. Replace the backend addresses with your services. Each should expose /health.

  3. 3
    Validate. Start. Connect.

    Use port 8080 for traffic and localhost:9090 for the admin interface.

Start routing
olb config validate --config olb.yaml
olb start --config olb.yaml
Read the complete getting started guide
SMALL CONFIG. REAL CAPABILITY.
olb.yaml
version: 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"
YAMLJSONTOMLHCL

Choose the format that fits your workflow.

05 / OPEN ALL THE WAY DOWN

Infrastructure you can inspect.
And help shape.

Read the source. Ask a question. Ship a contribution. OpenLoadBalancer is Apache 2.0 licensed, with its development happening in the open.

A CLEARER WAY FORWARD

Let good traffic flow.

Start building Read the docs