zilla
zilla copied to clipboard
Support optimized load balancing via HTTP/3 (udp)
Describe the desired outcome from the user's perspective
As a developer, I want to take advantage of http/3
support in browsers, mobile platforms and server environments.
Acceptance criteria
-
http/3
clients can send requests and receive responses to and fromzilla
-
zilla
can send requests and receive responses to and fromhttp/3
servers -
zilla
can proxyhttp/1.1
orhttp/2
protocols to and fromhttp/3
protocol -
zilla
can proxyhttp/3
protocol to and fromhttp/1.1
orhttp/2
protocols -
zilla
can use the samehttp
binding to supporthttp
-specific routing for all 3 protocol versions -
zilla
can optionally redirecthttp/3
clients to a peerzilla
instance to balance load
Additional context https://caniuse.com/http3
Tasks
- [ ]
binding-udp
handlesudp
datagram channels mapping to streams- [ ] support multicast datagram channels
- [ ]
binding-quic
handles network protocol codec mapping toquic
application streams- mapped to
quic
application streams
- mapped to
- [ ]
binding-http
enhanced to supportquic
network streams- mapped to
http
application streams - defers majority of flow control to
quic
binding
- mapped to
- advertise
h3
alternate protocol to bypass load balancer intermediary, requires direct reachability- [ ] via
alt-svc
h2
frame - [ ] via
alt-svc
http/1.1
response header
- [ ] via
- [ ] load balance
http
binding within same auto-scaling group- discovery via load balancer can be simple, e.g. round robin or hash tcp
syn
packet - load shaping requires state shared across group for candidates with available capacity (via metrics?)
- discovery via load balancer can be simple, e.g. round robin or hash tcp