1. 降级
服务降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。
2. 限流
服务限流是指当系统资源不足以应对大量请求,为了保证有限的资源能够正常服务,因此对系统按照预设的规则进行流量限制。
3. 熔断
熔断这一概念来源于电子工程中的断路器(Circuit Breaker)。在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。
这种牺牲局部,保全整体的措施就叫做熔断。如果不采取熔断措施,一旦下游服务由于某些原因变得不可用,积压了大量请求,上游服务的请求线程也随之阻塞。线程资源逐渐耗尽,使得上游服务也变得不可用,整个调用链路被拖垮。产生雪崩效应。
熔断机制:在固定时间窗口内,接口调用超时比率达到一个阈值,会开启熔断。进入熔断状态后,后续对该服务接口的调用不再经过网络,直接执行本地的默认方法,达到服务降级的效果。经过了规定时间之后,服务从熔断状态恢复过来,再次接受调用方的远程调用。
应用举例,Spring Cloud Hystrix 是基于 Netflix 的开源框架 Hystrix 实现。