gRPC - 建立到同一台服务器的通道
gRPC - make a channel to the same server
假设我有一个托管服务器的 gRPC Java 服务。
所以当客户想要调用此服务时,他们使用:
ManagedChannel channel = ManagedChannelBuilder
.forAddress(grpcHost, grpcPort)
.usePlaintext(true)
.build();
没问题。
现在如果我想从同一个 JVM 调用我的服务怎么办?这可能吗?或者这可能是完全无效的?
您可以自由使用纯 ManagedChannelBuilder
连接到同一个 JVM。它会正常工作。
如果你想优化这种情况,因为它可能经常发生并且在同一个 ClassLoader 中(因此它不会在 Servlet 之间工作,例如),你可以使用 in-process transport。进程内传输开销相对较低,甚至可以避免serializing/deserializing Protobufs。
假设我有一个托管服务器的 gRPC Java 服务。
所以当客户想要调用此服务时,他们使用:
ManagedChannel channel = ManagedChannelBuilder
.forAddress(grpcHost, grpcPort)
.usePlaintext(true)
.build();
没问题。
现在如果我想从同一个 JVM 调用我的服务怎么办?这可能吗?或者这可能是完全无效的?
您可以自由使用纯 ManagedChannelBuilder
连接到同一个 JVM。它会正常工作。
如果你想优化这种情况,因为它可能经常发生并且在同一个 ClassLoader 中(因此它不会在 Servlet 之间工作,例如),你可以使用 in-process transport。进程内传输开销相对较低,甚至可以避免serializing/deserializing Protobufs。