For each server (not each connection), we periodically heathcheck the
server at some interval. The server when failing healthchecks, must
disallow new connections and allow old connections to drain gracefully. It
must only send GOAWAY frames for session level errors. The reverse proxy is
responsible for loadbalancing between new and existing connections and for
deciding when a connection becomes unusable (for example we consider it
draining when half of the available stream IDs have been used).
On Mon, Apr 21, 2014 at 5:45 PM, Daniel Sommermann <dcsommer@fb.com> wrote:
> On 04/21/2014 05:32 PM, Jeff Pinner wrote:
>
> FWIW: We do out-of-band, active health-checking to signal draining.
>
>
> Just to be clear: for each HTTP/2 connection from the proxy to origin, you
> periodically healthcheck the server on some endpoint on a new stream? As
> long as the healthcheck interval is shorter than the soft shutdown timeout,
> this seems like a good approach. It doesn't work for the forward proxy use
> case though.
>