我已经用gRPC实现了一个订阅模式RPC (
rpc SubscribeX(SubscribeXRequest) returns (stream X))使用grpc-go。在客户端,如果连接有问题,我想重新订阅。我不确定是否应该在创建通道时使用他们的退避机制(现在称为ConnectParams),或者它不允许我在重新连接时重新订阅。有没有办法监听ClientConn状态的变化?有什么推荐的实现方式吗?或者一个类似的使用模式的例子?
发布于 2021-07-13 04:23:35
回退配置控制连接回退,而不是直接在RPC上。在大多数情况下,你不想改变这一点(如果连接有问题,更频繁地重试也无济于事)。
要重试RPC,请查看以下内容:https://github.com/grpc/grpc-go/blob/master/examples/features/retry/README.md
或者,如果您想盲目地重试它们,可以将RPC设置为WaitForReady(true),并将它们包装在一个for循环中。
https://stackoverflow.com/questions/68217859
复制相似问题