gRPC 客户端超时

gRPC Client Timeout

我在客户端寻找以下超时选项。换句话说,你如何设置这些时间的上限?

  1. 建立套接字连接所需的时间。
  2. 接收第一个响应数据包所需的时间。
  3. 接收最后一个响应数据包所花费的时间。

有一个 deadline 文档,但我不清楚上面三个中的哪个对应它。

我看过 this and this post,但其中 none 回答了我的问题。

我对这个问题有点困惑。问题是关于设置超时选项,要点是关于指标的。我的回答是基于问题。假设#1 是如何设置连接超时,您可以通过 NettyChannelBuilder.

配置它

NettyChannelBuilder(最常见)中,您可以通过NettyChannelBuilder#withOption. You can check known channel options in netty ChannelOption传递频道选项。

    ManagedChannel channel = NettyChannelBuilder
        .forTarget(target)
        // For other channel options see linked javadoc above
        .withOption(ChannelOption.CONNECT_TIMEOUT_MILLIS, (int) TimeUnit.SECONDS.toMillis(5))
        .build();

#2 和#3 需要更多说明,但听起来与截止日期有关。