添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
REL05-BP05 设置客户端超时 - 可靠性支柱

REL05-BP05 设置客户端超时

您应适当设置连接和请求的超时,对其进行系统性验证,不要依赖默认值,因为默认值并不了解具体的工作负载情况。

期望的结果: 客户端超时应考虑当完成请求需要超长时间时,与等待请求相关的客户端、服务器和工作负载成本。由于无法知晓任何超时的确切原因,因此客户端必须运用对服务的了解,预测可能的原因和相应的超时时间 根据配置的值,客户端连接超时。遇到超时后,客户端决定回退并重试,或者打开 断路器 。这些模式可避免发出会加剧底层错误状况的请求。 常见反模式: 建立此最佳实践的好处: 配置了远程调用超时,且系统在设计上可以轻松处理超时,这样在远程调用响应异常缓慢时能够节省资源,且服务客户端可以轻松处理超时错误。 未建立这种最佳实践的情况下暴露的风险等级: 高 针对所有服务依赖项调用以及一般情况下的所有跨流程调用,设置连接超时和请求超时。许多框架具有内置超时功能,但仍需谨慎,因为一些超时的默认值为无限值,或者高于您的服务目标可以接受的值。过高的值会降低超时的实用性,因为客户端等待超时发生时,系统会继续消耗资源。过低的值可能会重试请求过多次,因而导致后端流量增加以及延迟变长。在有些情况下,由于要对全部请求进行重试,从而可能导致完全中断。 在确定超时策略时,请考虑以下几点: