gRPC 客户端超时
gRPC Client Timeout
我在客户端寻找以下超时选项。换句话说,你如何设置这些时间的上限?
- 建立套接字连接所需的时间。
- 接收第一个响应数据包所需的时间。
- 接收最后一个响应数据包所花费的时间。
有一个 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 需要更多说明,但听起来与截止日期有关。
我在客户端寻找以下超时选项。换句话说,你如何设置这些时间的上限?
- 建立套接字连接所需的时间。
- 接收第一个响应数据包所需的时间。
- 接收最后一个响应数据包所花费的时间。
有一个 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 需要更多说明,但听起来与截止日期有关。