0
点赞
收藏
分享

微信扫一扫

12. Alibaba Sentinel 系统保护规则

快乐与微笑的淘气 2022-04-04 阅读 40

介绍

Sentinel 系统自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能

  1. 保证系统整体的稳定性

  2. 保持系统最大吞吐量

系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量,比如 Web 服务或 Dubbo 服务端接收的请求,都属于入口流量。

系统规则支持一下的模式:

  • Load 自适应(仅对 Linux/Unix-like 机器生效):系统的 load1(指的是过去1分钟平均负载) 作为指标,进行自适应系统保护。当系统 load1 超过设定的阈值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR 阶段)。系统容量由系统的 maxQps(秒级统计的最大QPS) * minRt(秒级统计的最小响应时间) 估算得出。设定参考值一般是 CPU cores * 2.5

    maxQps * minRt 得到的值说明了了你的系统过去的最大处理请求的能力。CPU cores * 2.5 是默认的参考值。

    如果过去一分钟系统负载load1超过某个值,并且并发的线程数超过了之前系统的最大处理能力,则进行限流

  • CPU usage(1.5.0+ 版本):当系统 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0),比较灵敏。

  • 平均 RT:当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。

  • 并发线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。

  • 入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。

案例演示

这里我们只通过入口QPS来进行测试,直接设置规则

这里的限制表示: 不管什么请求,应用级别的整体QPS大于1则限流

举报

相关推荐

0 条评论