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