【问题标题】:gRPC Client TimeoutgRPC 客户端超时
【发布时间】:2020-02-15 02:04:34
【问题描述】:

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

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

有一个deadline 记录在案,但我不清楚以上三个中的哪一个对应它。

我看过this 和this 的帖子,但他们都没有回答我的问题。

【问题讨论】:

    标签: grpc grpc-java


    【解决方案1】:

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

    在NettyChannelBuilder(最常见)中,您可以通过NettyChannelBuilder#withOption 传递频道选项。您可以在 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 需要进一步澄清,但听起来好像与截止日期有关。

    【讨论】:

    • 要点是关于指标的 他们不是;我要问的是你如何设置这些时间的上限。关于 Netty,您能否比仅粘贴指向 Javadoc 的链接更具体?
    • 当你创建一个频道时,你可以用通常的设置做 NettyChannelBuilder/*/ .withOption(ChannelOption.CONNECT_TIMEOUT_MILLIS, (int) TimeUnit.SECONDS.toMillis(5)).build();将连接超时设置为 5 秒。
    • 如果我不使用 NettyChanelBuilder,如何设置超时? (因为android没有)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多