【问题标题】:Long-lasting grpc streaming RPC and backoff strategy持久的 grpc 流式 RPC 和退避策略
【发布时间】:2021-07-01 23:11:37
【问题描述】:

我已经使用 gRPC 实现了订阅模式 RPC (

  rpc SubscribeX(SubscribeXRequest) returns (stream X)

) 使用 grpc-go。在客户端,如果连接出现问题,我想重新订阅。我不确定在创建频道时是否应该使用他们的退避机制(现在称为ConnectParams),或者它不会让我在重新连接时重新订阅。有没有办法监听ClientConn 状态变化?推荐的实施方式?或者类似使用模式的示例?

【问题讨论】:

    标签: grpc grpc-go


    【解决方案1】:

    退避配置控制连接退避,而不是直接在 RPC 上。在大多数情况下,您不想更改它(如果连接出现问题,更频繁地重试将无济于事)。

    要重试 RPC,请查看:https://github.com/grpc/grpc-go/blob/master/examples/features/retry/README.md

    或者,如果您想盲目地重试它们,请将 RPC 设置为 WaitForReady(true) 并将它们包装在 for 循环中。

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2012-02-02
      • 2018-12-10
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2015-11-01
      • 1970-01-01
      相关资源
      最近更新 更多