【发布时间】:2019-10-05 01:54:22
【问题描述】:
我有一些 gRPC 服务器,并且想将一些调用链接起来,这样流程就会变成这样:
Client X calls Server A
└──> Server A
... some processing ... < 1 >
calls Server B
└──> Server B
... some processing ...
returns Result B
receives Result B
... some more processing ...
returns Result A
为此,我一直在每次调用服务器 A RPC 时为服务器 B 连接创建一个 gRPC 客户端(如上图所示 < 1 >)。我发现了一个类似的问题问here,我知道这种方法不适合利用here 讨论的并发性的长期连接。
我没有从上述两个参考中得到的是什么时候应该创建 gRPC 客户端。如果我要与服务器 B 调用服务器 C 等进一步链接,是否每个服务器都需要在进程开始时生成连接?这是否会引入每个服务器的启动依赖关系?
此外,作为基线,我认为使用上下文可以实现良好的链接,并且仍然可以控制这些远程调用。这是 gPRC 的正确用法吗?
【问题讨论】: