【面经】服务熔断和服务降级的区别

什么是服务熔断

服务熔断是指当下游服务因访问压力过大而响应变慢或失败时,
上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。
这种牺牲局部、保全整体的措施就叫做服务熔断。
在程序中,服务熔断可以避免因某个服务的故障导致整个系统的瘫痪。

什么是服务降级

服务降级是指当服务器压力剧增的情况下,
根据当前业务情况及流量对一些服务和页面有策略的降级,
以此释放服务器资源以保证核心任务的正常运行。
服务降级是系统自我保护的一种机制,以确保系统不会因过载而崩溃

熔断和降级的区别

熔断和降级都是系统自我保护的一种机制,但二者又有所不同,它们的区别主要体现在以下几点:

概念不同:熔断(Circuit Breaker)一词早期来自股票市场,它在这里的含义是指当股指波幅达到规定的熔断点时,交易所为控制风险采取的暂停交易措施。
而在程序中,熔断表示“断开”的意思。
如发生了某事件,程序为了整体的稳定性,所以暂时(断开)停止服务一段时间,以保证程序可用时再被使用。降级(Degradation)降低级别的意思,它是指程序在出现问题时,仍能保证有限功能可用的一种机制。

触发条件不同:熔断机制通常在系统出现异常,无法正常运行的情况下触发,
比如达到特定的错误率阈值或者请求超时等。
而降级则通常在系统负载过高,超过其承受能力时触发,以确保系统不会因过载而崩溃。

归属关系不同:熔断是一种更为激进的保护机制,它涉及整个系统的稳定性,一旦触发,所有服务都将停止。
而降级通常是一种较为温和的保护机制,它允许系统在出现问题时仍然提供部分功能,以减轻核心系统的压力。

总的来说,熔断和降级都是为了保护系统,但它们采取的方式和达到的目标有所不同。

你可能感兴趣的:(面试八股文,SpringCloud技术笔记,CS科学理论,熔断,降级)