gRPC - 建立通向同一服务器的 channel

标签 grpc grpc-java

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

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

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

没问题。

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

最佳答案

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

如果你想优化这种情况,因为它可能经常发生并且在同一个类加载器中(例如,它不会在 Servlet 之间工作),你可以使用 in-process transport .进程内传输的开销相对较低,甚至可以避免对 Protobuf 进行序列化/反序列化。

关于gRPC - 建立通向同一服务器的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309687/

相关文章:

java-native-interface - 将 gRPC channel 从 C++ 转换为 Java

docker - 如何在支持 golang 的 gRPC 中减小 docker 镜像的大小?

python - grpc Python : ignore untrusted certificate

python - 我无法安装库 grpcio

java - 在 gRPC Java 应用程序中使客户端流同步/阻塞

java - GRPC + Maven : Unable to use `oneof` : Symbol `InternalOneOfEnum` missing

java - 如何下载 protobuf-socket-rpc maven 存储库?

java - gRPC 服务器可以在另一个 HTTP/2 网络服务器(如 jetty/undertow/tomcat)之上运行吗?

.net - 当 NuGet 包具有 Grpc.Core 作为依赖项时,二进制文件被添加到项目中

protocol-buffers - 如何为重复字段的字段指定字段掩码?