Sentinel 提供了多种熔断策略,每种策略都有其独特的应用场景和特点。以下是 Sentinel 中常见的熔断策略及其特点:
-
慢调用比例 (SLOW_REQUEST_RATIO):
- 定义:当单位统计时长内请求数目超过设定的最小请求数目,并且慢调用的比例大于阈值时,触发熔断。
- 特点:这种策略主要用于识别那些响应时间过长的请求,并在这些请求占比达到一定阈值时触发熔断。适合于对延迟敏感的应用场景。
-
异常比例 (EXCEPTION_RATIO):
- 定义:当在指定时间内异常请求的比例超过设定的阈值时,触发熔断。
- 特点:这是一种基于错误率的熔断策略,适用于那些对错误容忍度较低的场景,当错误请求比例上升时,可以迅速采取行动以保护系统稳定性。
-
异常数 (EXCEPTION_COUNT):
- 定义:当在单位时间内异常请求的数量超过设定的阈值时,触发熔断。
- 特点:这种策略关注的是异常请求的绝对数量,适用于需要对错误次数进行严格控制的场景。
这些策略可以单独使用,也可以结合在一起使用,以适应不同的业务需求和系统架构。Sentinel 的熔断策略设计得非常灵活,可以根据具体的业务场景来定制规则,从而更好地保护服务的稳定性和可用性。
特点总结
- 慢调用比例:关注响应时间,适合对延迟要求高的服务。
- 异常比例:关注错误率,适合对服务质量要求较高的场景。
- 异常数:关注错误次数,适合需要对错误数量进行控制的场景。
通过这些策略,Sentinel 能够有效地帮助开发者保护系统免受异常流量的冲击,并且通过半开机制来安全地恢复服务。这些策略可以在 Sentinel 控制台中配置和管理,也可以通过编程接口动态调整,以适应不断变化的业务需求。