熔断机制是一种针对连续出现的错误,或者性能和负载问题时,为了在计算机系统中实现健壮性的技术。它的目的是在异常发生时,让系统不单凭每次请求而“失控”,而是给予有限的“保护”,让它减少对错误的反复处理,从而减少错误对系统造成的损害,从而让系统可控。
一、熔断机制概述
熔断机制是一种用来阻止系统负载过高,资源消耗耗尽时,将系统置为一种不可用的状态的技术。熔断机制的原理是:如果出现了异常的持续时间超过了预定的阈值,对服务进行置为不可用的状态,并禁止继续接受新的流量。这种机制简单来说,就是监测大体某个系统的负载,当负载达到一定阈值,及时将系统置于不可用状态,避免该系统因负载过重,影响其他系统运行。
二、熔断机制的触发条件
熔断机制的触发条件一般可以按请求数量、失败率、超时时间等方面来触发,为了用这种机制来控制失控,必须熔断每个可能出现错误的服务,而且要记录这个服务被熔断之前出现的错误,以方便后续的系统调整。
三、熔断机制的延迟处理
熔断机制的延迟处理是一种把处理重复出现异常的时间进行扩大,比如在错误发生后某个时间段不会再次出现错误,以便可以给予例行和稳定的服务,从而减少错误对系统造成的损害。
四、熔断机制的机制实现
1、错误发生极限:
即当发生的错误超过极限,会造成服务不可用,这个极限一般会不断变化,也就是说,在发生了一些错误之后,这个极限可能会提升。
2、服务部署的影响:
部署的形式也会影响熔断机制,可以通过不同的部署模型使系统进行更好的熔断,比如采用双核心网络,备份数据,增加服务以同时容纳更多的请求等。
3、调整系统容量:
系统容量是指系统能够处理的有效请求数量,一般在负载不同时,容量也会发生变化,所以根据实际情况调整系统容量可以有效地防止系统负载过高,从而提高系统性能。
五、熔断机制的优势
1、减少异常处理
负责系统异常处理的资源也可以被重新分配到有病的系统上,从而有效减少对异常的处理压力,提高系统的健壮性。
2、提高系统性能
采用这样的手段也可以使系统变得更加稳定,从而提高系统性能,让系统能够容纳更多的请求,而不会出现错误。
3、错误归因
有时候会面对很多未知因素,使用熔断机制可以记录在系统被熔断之前出现的错误,可以方便系统管理者归因场景,