首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gPRC deadline (java)的默认值是多少

gPRC deadline (java)的默认值是多少
EN

Stack Overflow用户
提问于 2018-07-31 08:22:58
回答 3查看 2.7K关注 0票数 3

我注意到阻塞的gPRC调用可能会被阻塞很长很长一段时间,如果不是永远阻塞的话。

我查看并找到了以下页面:https://grpc.io/docs/guides/concepts.html#deadlines

但是,该页面不会告知Java的默认截止日期/超时值。所以,我想知道是否有缺省的java值。

如果不是,我可能必须为所有调用设置一个截止日期值。这很不方便..。

EN

回答 3

Stack Overflow用户

发布于 2018-07-31 23:42:42

在gRPC中,任何语言都没有默认的截止日期。如果出现网络故障,并且在客户端启用了keepalive,则呼叫最终会失败。但是,如果服务器花费的时间是无限的,那么客户端可能会等待无限的时间。

票数 6
EN

Stack Overflow用户

发布于 2020-05-07 22:34:32

根据本期https://github.com/grpc/grpc-java/issues/1495,它等同于“无穷大”

票数 0
EN

Stack Overflow用户

发布于 2021-07-08 18:46:33

就像@Eric Anderson所说的,没有默认的截止日期。但是,强烈建议在客户端中为每个RPC设置一个RPC,并且服务提供商还应该指定它们支持的最长截止日期,如博客中所述:https://grpc.io/blog/deadlines

一般来说,如果不设置截止日期,将为所有正在进行的请求保留资源,并且所有请求都可能达到最大超时。这会使服务面临资源耗尽的风险,比如内存,这会增加服务的延迟,或者在最坏的情况下可能会使整个进程崩溃。为了避免这种情况,服务应该指定它们在技术上支持的最长默认截止日期,客户端应该等待,直到响应对它们不再有用。对于该服务,这可以像在.proto文件中提供注释一样简单。对于客户端,这涉及到设置有用的最后期限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51603893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档