-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Description
Title
Can we add haproxy protocol at client side aside from server side proxy protocol (#8949) ?
Motivation
HTTP2 parser may not be trivial in a simple proxy. I experimented the codec of Envoy.
A TCP proxy reaches 8-10x throughput vs HTTP2 proxy because TCP proxy does not parse and materialize HTTP2 structures such as header. However, a reasonable TCP proxy wants more than TCP addresses to determine the route.
The HAProxy protocol can deliver resourceful attributes via TLV fields. It would be great if GRPC channel could support adding channel-wide attributes.
There is a Negotiator can be used to achieve "self-defined TCP payload ahead of H2 channel".
Alternative
Currently, only HTTP 1.1 CONNECT (aka https proxy) is offered in the GRPC channel, with a weak API.
E.g. only user and password are supported to define the HTTP1.1 CONNECT request, while HTTP1 supports any legit HTTP header names and values.