知识卡片
熔断的止损与试探性恢复
内容
当下游服务的调用失败率超过阈值,说明它大概率已经撑不住当前压力,此时继续把请求打过去既得不到响应,还会进一步拖垮下游——正确的做法是立刻停止调用,让下游有喘息空间恢复。但完全停止之后不能无限期不再尝试:经过一段冷却时间,需要放一小部分请求去试探下游是否恢复,如果试探请求成功就逐步放开更多流量,如果仍然失败就再次进入停止状态。发散:这套”止损—冷却—小流量试探—逐步放量”的循环,和 [[灰度发布的双轨渐进]] 里”先小规模验证再逐步扩大”的节奏是同一种谨慎推进的思路,区别只在于灰度发布是主动、计划内的变更,熔断恢复是被动应对故障后的自动恢复。
参考来源
《Istio入门与实战》第8章《熔断》