Sentinel
提供了一套完整的解决方案来处理系统中的异常情况,其中包括熔断降级功能。熔断降级是一种保护系统稳定性的手段,当系统中的某个资源出现问题时(比如响应时间过长或异常比率上升),可以通过熔断降级策略暂时停止对该资源的调用,从而避免故障扩散,影响到整个系统。以下是 Sentinel 中支持的一些熔断降级策略:
-
慢调用比例 (SLOW_REQUEST_RATIO)
- 这种策略是基于请求的响应时间来判断是否应该触发熔断。管理员可以设置一个允许的最大响应时间(RT),以及一个比例阈值。如果在指定的时间窗口内,超过设定比例的请求响应时间超过了这个最大值,那么系统将会触发熔断,直到熔断期结束或者系统检测到问题已经解决。
-
异常比例 (ERROR_RATIO)
- 这种策略是基于请求的成功率来判断是否应该触发熔断。管理员可以设置一个异常比例的阈值,如果在指定的时间窗口内,请求的异常比例超过了这个阈值,那么系统将会触发熔断。
-
异常数量 (ERROR_COUNT)
- 这种策略则是基于单位时间内异常的数量来判断是否应该触发熔断。如果在指定的时间窗口内,异常的数量超过了预设的阈值,那么系统将会触发熔断。
当系统触发熔断之后,通常会进入一个“半开”状态,在这个状态下,系统会试探性地接收请求,如果请求能够正常处理,则认为系统恢复正常,熔断解除;如果请求仍然存在问题,则可能会再次触发熔断。
这些熔断降级策略可以帮助开发者更好地管理服务的健康状况,防止因为某个部分的问题导致整个系统不可用。通过合理配置这些策略,可以有效提升系统的稳定性和用户体验。