系统规则从整体维度对应用入口流量进行控制,结合应用的Load、CPU使用率、总体平均响应时间(RT)、入口QPS和并发线程数等几个维度的监控指标,结合自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,保证系统在最大吞吐量状态下稳定运行。

背景信息

系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量,例如Web服务或Dubbo服务端接收的请求。系统规则支持以下的模式:

  • Load(仅对Linux或Unix类机器生效):当系统Load1超过阈值且系统当前的并发线程数超过系统容量时才会触发系统保护。
  • CPU使用率:当系统CPU使用率超过阈值(0.0~1.0)即触发系统保护。
  • RT:当单台机器上所有入口流量的平均RT达到阈值即触发系统保护。
  • 线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
  • 入口QPS:当单台机器上所有入口流量的QPS达到阈值即触发系统保护。

对于一个应用来说,每种相同的系统保护规则最多只能存在一条,即一个应用最多配置四个系统保护规则。

新增系统规则

  1. 登录EDAS控制台
  2. 执行以下操作之一以进入应用详情页面:
    • 在左侧导航栏选择资源管理 > 集群,在集群页面的容器服务K8s集群页签上单击集群ID或名称,然后在集群详情页面的应用列表区域单击具体应用名称。
    • 在左侧导航栏选择应用管理 > 应用列表,在应用列表页面单击具体容器服务K8s集群应用的应用名称。
  3. 在左侧导航栏中选择限流降级 > 规则管理
  4. 单击系统规则页签,然后在页面右上角单击新增系统保护规则
  5. 新增系统保护规则对话框中输入以下规则信息并单击新增
    新增系统保护规则
    • 统计维度
      • CPU使用率:当系统CPU使用率超过阈值即触发系统保护,阈值设置范围为0~1,表示0%~100%。
      • Load:当系统的Load超过阈值,且系统当前的并发线程数超过系统容量(上一秒入口的MaxQPS*Min RT)时才会触发系统保护。
      • 线程数:当单节点上所有入口流量的并发线程数达到阈值即触发系统保护。
      • 入口平均RT:当单节点上所有入口流量的平均响应时间达到阈值即触发系统保护。单位是毫秒。
      • 入口总QPS:当单节点上所有入口流量的QPS达到阈值即触发系统保护。
    • 是否开启:打开表示启用该规则,关闭表示禁用该规则。
    配置成功后,新的系统规则将出现在系统规则列表中。

管理规则

规则管理页面的规则列表中,您可以编辑、删除、启用、禁用、批量启用或批量禁用规则。

  • 如需编辑规则,单击目标规则右侧操作列中的编辑,并按需修改规则内容。
  • 如需删除规则,单击目标规则右侧操作列中的删除,并在对话框中单击确定
  • 如需启用或禁用规则,打开或关闭目标规则右侧状态列中的开关,并在对话框中单击确定
  • 如需批量启用或禁用规则,选中要操作的一个或多个规则,单击页面底部的批量启用批量禁用,并在对话框中单击确定