超时控制
一、原因
如果没有超时控制,当一个节点故障后,其他节点也会受到影响导致故障,所以单节点不容易被打死,才不会引起其他控制。
不希望不等到断开的实例知道超时,尽量控制返回时间,如果是无响应界面,用户体验是很差的。
服务调用链是串联的,很有可能导致超时叠加,最终导致请求堆积,无法被消费。
网络传递具有不确定性。
客户端和服务端不一致的超时策略导致资源浪费,当上游超时时间较短时,会导致上游超时后下游仍在执行。
默认值策略,比如redis和mysql,永不超时,所以设计时要考虑主动超时。
超时控制是微服务可用性的第一道关,良好的超时策略,可以尽可能的让服务不堆积请求,尽快清空高延迟的请求,释放goroutine。
超时控制
https://www.zengzx.xyz/2023/03/08/01.知识架构/微服务/6.超时控制/