0

我有一些 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 >)。我在这里发现了一个类似的问题,并且我理解这种方法不适合利用这里讨论的并发性的长期连接。

从以上两个参考资料中我没有完全得到的是什么时候应该创建 gRPC 客户端。如果我要与服务器 B 调用服务器 C 等进一步链接,是否每个服务器都需要在进程开始时生成连接?这是否会引入每个服务器的启动依赖性?

另外,作为基线,我认为使用上下文可以很好地链接,并且仍然可以控制这些远程调用。这是 gPRC 的正确用法吗?

4

1 回答 1

1

我们改进了 ClientConn 的 GoDoc。请参阅:https ://github.com/grpc/grpc-go/pull/3096 。

让我们知道您的想法。谢谢。

于 2019-10-15T20:07:51.463 回答