面试题答案
一键面试熔断算法基本原理
熔断机制类似电路中的保险丝。当某个微服务调用失败次数或错误率达到一定阈值时,熔断器会“熔断”,暂时切断对该服务的调用,避免大量无效请求持续尝试调用故障服务,消耗系统资源。之后会进入“半熔断”状态,少量试探性调用,若恢复正常则关闭熔断器,若仍失败则继续熔断。
降级算法基本原理
降级是指当系统资源紧张(如 CPU、内存、带宽等不足)或某些服务出现问题时,主动放弃一些非核心业务的功能,优先保障核心业务的稳定运行。通常是通过预先设置好的降级策略,直接返回一个默认值、兜底数据或提示信息等。
二者区别
- 触发原因:熔断主要基于服务调用的故障情况(失败率、超时等)触发;降级更多基于系统整体资源状况或业务优先级等因素触发。
- 处理方式:熔断是切断对故障服务的调用;降级是提供替代方案,保证系统部分功能可用。
- 恢复机制:熔断有自动恢复机制(半熔断试探);降级通常需人工干预或根据系统状况手动调整。
优先选择熔断场景
例如在电商应用中,调用第三方物流查询服务时,如果该服务频繁超时或返回大量错误,此时优先选择熔断。因为继续调用不仅无法获取有效物流信息,还会占用资源。熔断后可以快速失败,给用户友好提示,同时等待物流服务恢复正常。
优先选择降级场景
在高并发的秒杀活动中,系统资源紧张,为了保证核心的商品下单功能正常运行,对于一些非核心功能如商品评价展示、用户积分查询等,可以优先选择降级。直接返回默认提示信息,如“当前活动火爆,该功能暂不可用”,从而将资源优先分配给下单等核心业务。