Java gRPC服务器能否在另一个HTTP/2Web服务器(如jetty/undertow/tomcat)上运行?

Java gRPC服务器能否在另一个HTTP/2Web服务器(如jetty/undertow/tomcat)上运行?,java,tomcat,jetty,wildfly,grpc,Java,Tomcat,Jetty,Wildfly,Grpc,我正在考虑将gRPC用于b2b API,但我不太清楚gRPC服务器是否可以在另一个支持http2的web服务器上运行 在官方网站上提供的示例中,gRPC API始终在特定端口的内部基于netty的服务器上运行 所以,假设我有几个gRPC应用程序,看起来我必须在不同的端口上运行它们 但我希望有一个单一的API入口点(一个web服务器,如单一端口443上的jetty),用于管理URL并将其映射到特定的gRPC服务实现 gRPC有可能吗?没有,gRPC java不能作为servlet响应RPC 支持H

我正在考虑将gRPC用于b2b API,但我不太清楚gRPC服务器是否可以在另一个支持http2的web服务器上运行

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

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

但我希望有一个单一的API入口点(一个web服务器,如单一端口443上的jetty),用于管理URL并将其映射到特定的gRPC服务实现


gRPC有可能吗?

没有,gRPC java不能作为servlet响应RPC

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


编辑:GitHub现在已打开。

我已对此问题发表了评论。即使servlet规范不允许运行gRPC服务器,我们仍然可以提供足够的适配器,以便它可以在jetty、undertow和tomcat上运行。这样,至少servlet和gRPC可以共享同一个端口。