teamhephy / router

MIT License
4 stars 10 forks source link

Support proxying HTTP/2 to backend applications #16

Open Cryptophobia opened 6 years ago

Cryptophobia commented 6 years ago

From @codyaray on November 9, 2016 14:14

We're looking for a PaaS which supports proxying HTTP/2 to the backend app to enable mobile support for gRPC. Deis supports terminating HTTP/2 at the router and opening an HTTP/1.1 connection to the app (#216) currently. The only L7 router that I know of which supports HTTP/2 to the backend is nghttpx (with --http2-bridge in v1.8 or backend=<ADDR>,<PORT>;;proto=h2;tls later). The other option is using a L4 load balancer to opaquely proxy the TCP stream. Felix says that the only tool he knows of to route to multiple TCP backends based on the SNI header is HAProxy.

Copied from original issue: deis/router#287

Cryptophobia commented 6 years ago

From @krancour on November 9, 2016 16:47

For now, you can always skip the router for select applications by making your service "non-routable" and then also manually editing it to be of Type: LoadBalancer. Such an app will have it's own external load balancer (e.g. ELB or similar) and raw TCP will flow straight from there to your pods.

Cryptophobia commented 6 years ago

From @codyaray on January 11, 2017 17:30

Wait, so how does this work exactly? https://deis.com/blog/2016/grpc-on-workflow/

Is it because there's no external LB / routing is disabled? (We're looking for gRPC between mobile device and backend server.)

Cryptophobia commented 6 years ago

From @bacongobbler on January 17, 2017 4:23

The communication between the two apps is internal to the cluster. It doesn't go through the router.