1. 流控降级页面看不到应用?

    请参考以下步骤检查:

    • 确保选择了正确的地域(Region)。
    • 确保引入了相应的依赖,并进行了正确的配置。参见流控降级接入文档
    • 确保应用资源有访问量。
    • 确保本机时间正确:程序所在的机器时间要跟当地标准时间一致。
  2. 请求链路页面没有看到想要的资源?

    请确保对应资源有访问量。资源要有访问量才会在请求链路页面显示。另外请求链路页面显示的是单台机器上的所有调用链路数据,您可以通过下拉框切换机器查看不同机器的请求链路数据。

  3. 请求链路页面添加规则是给单台机器添加还是给所有机器都添加?

    添加规则会推送到所有机器。

  4. ECS 经典网络无法连接到对应地域(Region)的控制台?

    经典网络只能连接到公网控制台。请在控制台左上角选择公网环境,并在程序启动参数中加入-Dahas.license=${license},然后在公网控制台查看应用。

  5. 流控规则中的来源应用是什么意思?

    Sentinel 支持按调用来源限流。流控规则中来源应用(针对应用)指的是调用该资源的调用方标识,例如在 Dubbo 中就对应 Dubbo Consumer 的应用名称。默认来源应用设为 default,代表不区分来源应用。

  6. 流控规则中的线程数模式是什么意思?

    线程数模式按照资源的并发线程数(即该资源正在执行的线程数)进行流量控制。

  7. 流控规则中的每种流控模式是什么意思?

    • 直接:直接按照当前资源的调用来源进行限流,若来源为 default 则不区分调用来源
    • 关联:当两个资源之间具有资源争抢或者依赖关系的时候,这两个资源便具有了关联。关联限流会根据当前资源的关联资源进行限流。

      比如 read_db 和 write_db 这两个资源分别代表数据库读写,我们可以给 read_db 设置限流规则来达到写优先的目的:设置 关联资源 为 write_db。这样当写库操作过于频繁时,读数据的请求会被限流。

    • 链路:根据调用链路入口限流。需要在规则中配置入口资源,即该调用链路入口的上下文名称。
  8. 流控规则中的每种流控方式是什么意思?

    • 快速失败:达到阈值时,立即拦截请求。
    • Warm Up:当流量突然增大的时候,我们希望系统从空闲状态到繁忙状态的切换的时间长一些,即如果系统在此之前长期处于空闲的状态,我们希望处理请求的速率缓慢增加,经过预期的时间以后,到达系统处理请求速率的设定值;默认会从配置 QPS 阈值的 1/3 开始慢慢往上增加 QPS。
    • 排队等待:请求匀速通过,允许排队等待,通常用于消息队列削峰填谷等场景。比如配置了 QPS 为 5,则代表请求每 200 ms 才能通过一个,多出的请求将排队等待通过。超时时间代表最大排队时间,超出最大排队时间的请求将会直接被拒绝。注意排队等待模式下 QPS 不要超过 1000(请求间隔 1 ms)。
  9. 降级规则中的 RT 模式/异常比例模式是什么意思?

    Sentinel 熔断降级支持两种策略:

    • RT:按照秒级的平均响应时间进行降级,单位是毫秒。如果持续进入 5 个请求,对应的平均 RT 都持续超过降级阈值,则会被自动降级。
    • 异常比例:按照秒级的异常比例进行降级。当资源的每秒异常总数占通过量的比值超过阈值之后,资源进入降级状态。

    资源进入降级状态后,在配置的降级窗口时间内,请求都会快速失败。

  10. 什么是系统保护规则?

    系统保护规则可以从系统指标维度(入口 QPS、RT、线程数、Load 等)来进行流量控制,让系统尽可能跑在最大吞吐量水位的同时保证系统整体的稳定性。系统保护规则是整体维度的而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量,比如 Web 服务或 Dubbo 服务端接收的请求,都属于入口流量。

    系统规则支持的种类有以下几种:

    • 系统 Loadload1): 按照系统 load1 以及实时的吞吐量进行流量控制。
    • 总体平均 RT: 当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护。
    • 总体 QPS: 当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。
    • 总体线程数: 当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。

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