gRPC(Java):具有多个服务的服务器上的服务器vs的多个实例

gRPC(Java):具有多个服务的服务器上的服务器vs的多个实例,java,service,server,grpc,Java,Service,Server,Grpc,因此,在我看来,在一个应用程序中拥有多个服务的预期方式似乎是在io.gRPC.Server实例上构建,并根据需要向其中添加尽可能多的服务 您是否知道为什么希望使用多个io.grpc.Server实例来承载不同的服务 我对基准测试特别感兴趣,但也希望能链接到有关该主题的文档和/或讨论。从客户端的角度来看,连接到多个服务器意味着创建多个通道,而通道是昂贵的资源。如果相关服务可以全部在一台服务器中,那么客户端只需要创建一个通道来调用所有服务。从客户端的角度来看,连接到多个服务器意味着创建多个通道,通道

因此,在我看来,在一个应用程序中拥有多个服务的预期方式似乎是在io.gRPC.Server实例上构建,并根据需要向其中添加尽可能多的服务

您是否知道为什么希望使用多个io.grpc.Server实例来承载不同的服务


我对基准测试特别感兴趣,但也希望能链接到有关该主题的文档和/或讨论。

从客户端的角度来看,连接到多个服务器意味着创建多个通道,而通道是昂贵的资源。如果相关服务可以全部在一台服务器中,那么客户端只需要创建一个通道来调用所有服务。

从客户端的角度来看,连接到多个服务器意味着创建多个通道,通道是昂贵的资源。如果相关服务可以全部在一台服务器中,那么客户端只需要创建一个通道来调用所有服务。

通常,所有服务都是单个io.grpc.server的一部分

多个io.grpc.Servers对于基于访问/权限分离服务可能最有用。例如,如果您想要一个额外的“特殊”开放端口,比如允许管理员使用额外的防火墙规则访问,或者只允许本地主机访问。或者,如果您想要多个Unix域套接字,每个套接字都有自己的用户/组访问权限


但如果你想听多次,也可以简单地使用它。例如,如果您希望在普通IP端口和Unix域套接字上侦听,则if也很有用。

通常,所有服务都是单个io.grpc.Server的一部分

多个io.grpc.Servers对于基于访问/权限分离服务可能最有用。例如,如果您想要一个额外的“特殊”开放端口,比如允许管理员使用额外的防火墙规则访问,或者只允许本地主机访问。或者,如果您想要多个Unix域套接字,每个套接字都有自己的用户/组访问权限

但如果你想听多次,也可以简单地使用它。例如,如果您希望在普通IP端口上同时在Unix域套接字上侦听,则if也很有用