gRPC - 为同一台服务器建立一个通道

时间:2017-09-19 21:00:23

标签: grpc grpc-java

假设我有一个托管服务器的gRPC Java服务。

因此,当客户想要调用此服务时,他们会使用:

ManagedChannel channel = ManagedChannelBuilder
        .forAddress(grpcHost, grpcPort)
        .usePlaintext(true)
        .build();

没问题。

现在如果我想从同一个JVM调用我的服务怎么办?这甚至可能吗?或许这完全无效?

1 个答案:

答案 0 :(得分:3)

您可以使用普通ManagedChannelBuilder连接到同一个JVM。它会像平常一样工作。

如果你想优化大小写,因为它可能经常发生并且在同一个ClassLoader中(例如,它在Servlet之间不起作用),你可以使用in-process transport。进程内传输的开销相对较低,甚至可以避免序列化/反序列化Protobufs。