gRPC服务器可以在另一个HTTP / 2 Web服务器上运行,比如jetty / undertow / tomcat吗?

时间:2016-03-28 08:06:04

标签: java tomcat jetty wildfly grpc

我正在考虑将gRPC用于b2b API,而我无法弄清楚gRPC服务器是否可以在另一个支持http2的Web服务器上运行?

在官方网站上提供的示例中,gRPC API始终在特定端口上基于内部网络的服务器上运行。

所以,如果让我说我有几个gRPC应用程序,看起来我必须在不同的端口上运行它们。

但是我希望有一个API入口点(像单个端口443上的jetty这样的Web服务器)来管理URL并将它们映射到特定的gRPC服务实现。

是否可以使用gRPC?

1 个答案:

答案 0 :(得分:2)

不,grpc-java无法将RPC作为servlet响应。

支持HTTP / 2的Servlet容器非常新,gRPC还没有对它们进行过多的调查。使用异步servlet API来实现gRPC服务器(作为Netty服务器的替代方案)似乎是可行的,除了可能用于预告片。当服务器是HTTP / 2时,如何发送预告片并不是100%清楚,因为使用HTTP / 1的常见技术是servlet手动执行HTTP / 2中不存在的分块编码。无论如何,它没有实现。

编辑:issue现已打开GitHub。