Overview
What is Nvelox?
Nvelox is a high-performance L4/L7 load balancer and reverse proxy written in Go. It supports TCP, UDP, HTTP/1.1, HTTP/2, HTTPS/TLS, and HTTP/3 (QUIC) out of the box.
Architecture
Nvelox follows a Listener → Router → Backend architecture:
- Listeners bind to addresses and accept incoming connections (TCP, UDP, HTTP, HTTPS, HTTP/3).
- Routes match requests by path, host, or SNI and direct them to a backend.
- Backends are pools of servers with load balancing, health checks, and retry logic.
Key Features
- Zero-downtime hot reload via SIGHUP
- TLS 1.2/1.3 termination and SNI-based routing
- Rate limiting, circuit breaker, response caching
- gzip, brotli, and zstd compression
- Lua scripting for custom request/response logic
- ACLs with CIDR-based allow/deny rules
- HTTP and TCP health checks
- DNS SRV/A record service discovery
- Prometheus metrics endpoint
- Access logging with JSON, CLF, or custom formats
- WebSocket transparent proxying
- Kubernetes ingress controller
Protocol Support Matrix
Protocol | L4/L7 | TLS | Notes
------------|-------|------|------------------
TCP | L4 | - | Raw stream proxy
UDP | L4 | - | Datagram forward
HTTP/1.1 | L7 | - | Keepalive, chunked
HTTP/2 | L7 | - | Multiplexed streams
HTTPS | L7 | Yes | TLS 1.2/1.3
HTTP/3 | L7 | Yes | QUIC/UDP transport
Open Source: Nvelox is MIT licensed. View the source at github.com/nvelox/nvelox.