【发布时间】:2018-01-24 09:32:41
【问题描述】:
最近,我正在研究构建 gRPC 客户端-服务器交互。
我写了一个 gRPC 服务:
service SearchService {
rpc Find (SearchReq) returns (SearchRes);
}
然后我应该使用存根(另一个 java 应用程序)在客户端调用它。
这两种存根有什么区别??
SearchServiceGrpc.SearchServiceFutureStub futureStub = SearchServiceGrpc.newFutureStub(channel);
SearchServiceGrpc.SearchServiceBlockingStub blockingStub = SearchServiceGrpc.newBlockingStub(channel);
blockingStub.find(request); - 用于阻止
futureStub.find(request).get(); - 未来
我了解 Futures 在 java 中的工作原理, 但我不明白 gRPC 内部发生了什么以及哪种类型的存根调用更有效率
我在谷歌上没有找到关于它的信息。
谢谢!
【问题讨论】:
标签: java future grpc stub grpc-java