QUIC / HTTP/3

Surgewave runs QUIC end-to-end: client ↔ broker on :9094, broker ↔ broker for replication and geo-replication, and HTTP/3 for the gRPC and REST APIs. Loss-tolerant streaming with 0-RTT resumption keeps cold reconnects fast.

Why QUIC

  • 0-RTT resumption — cold reconnects under 50 ms with cached session tickets, ideal for mobile producers and edge gateways that cycle connections
  • Stream multiplexing — head-of-line blocking on one topic doesn't starve others on the same connection
  • Connection migration — survives client IP/port changes (Wi-Fi ↔ cellular handoff) without re-authenticating
  • Built-in TLS 1.3 — encryption is mandatory, no opt-in TLS to forget

Configuration

Surgewave:
  Quic:
    Enabled: true
    Port: 9094
    Certificate: "./certs/surgewave.pfx"

Inter-broker QUIC

Surgewave clusters use QUIC for replication by default — see the clustering deployment guide. Replication falls back to TCP automatically if a peer doesn't advertise QUIC.

Benchmarks

Local A/B benchmarks live in benchmarks/Kuestenlogik.Surgewave.Benchmarks.QuicVsTcp. Real-world LAN/WAN benchmarks are tracked in the performance suite.