Spring Cloud Alibaba快速入门-Sentinel熔断规则
文章目录
- 断路器的工作原理
- 熔断策略
- 有无熔断区别
断路器的工作原理
断路器的三个状态:打开、关闭、半开
断路器的基本思想是通过监控服务调用的成功率或平均响应时间等指标,在(被调用的)服务出现异常时自动切换到“打开”状态,阻止后续请求继续访问该服务,从而避免引发连锁故障。
一段时间后,断路器会尝试半开(Half-Open),允许部分请求通过以探测服务是否恢复,如果服务恢复正常,则断路器关闭,恢复正常调用;如果服务仍不可用,则继续保持打开状态。
熔断策略
在Sentinel中有三种熔断策略,慢调用比例、异常比例、异常数
- 慢调用比例:如A调用B,设置0.7,当统计时长中有70%的请求为慢请求(设置阈值)时,会把断路器打开,之后A就不会在调用B了。同时会有熔断时长,时长内的调用全部拒绝访问,之后会变为半开状态。半开状态会放行一个探测,如果成功则断路器关闭,失败则打开。
- 异常比例:规定时间(统计时长)内70%的请求发送异常,则断路器打开
- 异常数:统计时长内100个请求中有15个发送异常,则断路器打开
有无熔断区别
在没有配置熔断规则时,A调用B时,B发生超时或异常都会触发A的兜底回调。
当有熔断规则时,如配置了慢调用比例,当断路器打开时不会在调用B直到熔断时长结束。节约了调用时间和资源