面试题答案
一键面试- 设置熔断触发条件:
- 库存服务:监控库存服务的响应时间。当在一定统计窗口(如1分钟)内,库存服务的平均响应时间超过设定阈值,例如T1秒,并且请求量达到一定数量(如N1次),则触发熔断。这是因为当平均响应时间过长且请求量较大时,说明库存服务可能出现性能问题,继续调用可能导致订单服务响应变慢甚至阻塞。
- 支付服务:同样在类似的统计窗口(1分钟)内,若支付服务平均响应时间超过设定阈值T2秒,且请求量达到N2次,触发熔断。支付服务响应时间过长且请求量大,会影响订单的支付流程,进而影响整个订单服务的正常运行。
- 时间阈值依据:
- 库存服务:T1的设定依据可以是业务高峰期库存服务历史平均响应时间的一定倍数(如1.5倍)。假设业务高峰期库存服务平均响应时间为0.5秒,那么T1可设为0.75秒。这样在库存服务性能稍有恶化但未完全不可用的情况下,提前熔断,防止订单服务受过多影响。
- 支付服务:T2的设定要综合考虑支付流程的业务容忍度。支付操作通常希望尽快完成,若支付服务平均响应时间超过1秒(假设业务经验表明1秒以上会造成用户明显等待焦虑且影响转化率),则可将T2设为1秒。这样一旦支付服务响应时间过长,订单服务及时熔断,避免大量支付请求堆积导致服务不可用。