On Wed, Jun 24, 2015 at 10:26:24AM -0600, Shawn Heisey wrote:
> When http/2 support lands in haproxy, will http/2 support also be
> required on the back end to take advantage of it?

To add to what CJ Ess said, I'd mention that the real gains of HTTP/2
are between the client and the first point in your infrastructure. The
purpose of HTTP/2 is to aggregate multiple requests over a single
connection to 1) avoid the buffer bloat issue caused my multiple
connections, 2) remove the amazing number of round trips that are
involved when doing keep-alive without pipelining, and 3) to avoid
head-of-line blocking that still appears with pipelining.

So the real gains will be where the latency is. On the backend side
it can be the opposite for quite some time because most agents will
in fact more or less translate HTTP/2 to HTTP/1 then process the
request as HTTP/1, so it will add extra processing. The very low
latency on this side already prevents small TCP windows from being
filled so it will not be relevant to the savings HTTP/2 provides.
In fact only the connection multiplexing will provide a real benefit
but it's already possible to do that in HTTP/1 to some extents.

Thus my first goal with HTTP/2 in haproxy really is to make it a
solid H2->H1 gateway in order to provide a seamless migration to H2
to everyone, just like haproxy was massively used to provide IPv6
connectivity for the last IPv6 day.

I'll still focus on H2 on the backend but more as a longterm goal, to
help making architectural choices when needed, but I don't see this as
a benefit for now. It will probably be one when servers start to exploit
server push, which could be a reason for having H2 on the server side.
But that's not urgent in my opinion.

Best regards,
Willy


Reply via email to