[Java] Netty transport use HTTP1?

102 views
Skip to first unread message

mvn...@gmail.com

unread,
Aug 4, 2017, 8:50:46 PM8/4/17
to grpc.io
The Java implementation supports Netty for transport. Is there a way to make it use HTTP1 with this transport? I need to work with load balancers that don't support HTTP2.

Spencer Fang

unread,
Aug 7, 2017, 11:25:35 AM8/7/17
to mvn...@gmail.com, grpc.io
Hi mvnjpy,
Which load balancer are you using, and how is it configured?

Although it's not impossible to support HTTP1, gRPC today requires HTTP2. You can read this discussion for more info: https://github.com/grpc/grpc-experiments/issues/284

Lyft Envoy is able to do this translation but I have not used it before myself:

On Fri, Aug 4, 2017 at 5:50 PM, <mvn...@gmail.com> wrote:
The Java implementation supports Netty for transport. Is there a way to make it use HTTP1 with this transport? I need to work with load balancers that don't support HTTP2.

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscribe@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/3426aaaf-a0f1-49df-97c1-d14748cc61da%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Spencer Fang

mvn...@gmail.com

unread,
Aug 7, 2017, 2:10:10 PM8/7/17
to grpc.io, mvn...@gmail.com
I'm using Amazon Load Balancers.


On Monday, August 7, 2017 at 11:25:35 AM UTC-4, Spencer Fang wrote:
Hi mvnjpy,
Which load balancer are you using, and how is it configured?

Although it's not impossible to support HTTP1, gRPC today requires HTTP2. You can read this discussion for more info: https://github.com/grpc/grpc-experiments/issues/284

Lyft Envoy is able to do this translation but I have not used it before myself:
On Fri, Aug 4, 2017 at 5:50 PM, <mvn...@gmail.com> wrote:
The Java implementation supports Netty for transport. Is there a way to make it use HTTP1 with this transport? I need to work with load balancers that don't support HTTP2.

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.

To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/3426aaaf-a0f1-49df-97c1-d14748cc61da%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Spencer Fang

Eric Anderson

unread,
Aug 10, 2017, 3:23:54 PM8/10/17
to mvn...@gmail.com, grpc.io
Using HTTP/1 in Netty for gRPC is not currently feasible. It's effectively a rewrite.

You need to use the TCP-based mode for those load balancers (any that don't support HTTP/2 to the backend). You probably want to use NettyServerBuilder.maxConnectionAge and NettyServerBuilder.keepAliveTime to cause clients to rebalance over backends over time and avoid the ~1 minute idleness timeout of the LB from causing disconnections.

To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscribe@googlegroups.com.

To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
Reply all
Reply to author
Forward
0 new messages