配置集群流控规则

集群流控可以控制某个服务调用整个集群的实时调用量,可以解决因流量不均匀导致总体限流效果不佳的问题。集群流控可以精确地控制整个集群的调用总量,结合单机限流兜底,更好地发挥流量防护的效果。本文主要介绍设置集群流控的操作步骤。

公测说明

集群流控功能目前处于公测中,不会产生额外的费用。试用档位仅供测试使用,规定单个应用的QPS阈值之和不超过2000,接口总流量不超过3000。

重要

公测阶段不保证Token Server的实时创建以及限流的稳定性,生产档位请谨慎在生产环境中使用。

前提条件

  • 已开通AHAS专业版,若没有开通,请进入开通页面

  • SDK版本≥1.6.0,Agent版本≥1.7.5。

背景信息

集群流控通常适用于以下场景:

  • 单机流量不均:由于负载不均衡等原因导致每台机器的流量不均,这时使用单机流控可能会出现没有达到请求总量,某些机器就开始限流的情况。

  • 集群小流量流控:某些高可用防护场景下需要将服务调用QPS限制到很小的量,此时平均到每台机器的QPS可能小于1,无法通过单机流控进行精确控制。例如希望限制总QPS为50,但节点数有100个。

  • 有业务含义的流量控制:例如限制某个API每个用户每分钟调用不超过10次。

说明

Token Client与Server的通信会带来一定的网络开销,响应时间可能会上升2ms~5ms左右。

步骤一:选择档位创建集群

  1. 登录AHAS控制台,然后在页面左上角选择地域。
  2. 在控制台左侧导航栏中选择流量防护 > 应用防护
  3. 应用防护页面的应用卡片页签单击目标应用卡片。
  4. 在应用防护管理页左侧导航栏选择集群流控 > 集群配置

  5. 集群流控资源配置区域内,选择集群类型生产,然后滑动指针选择集群流控的总配置量级,单击创建,然后在对话框中单击确认

    总配置量级即最大QPS,表示需要流控的接口所能承载的预估的最大QPS,代表可能到来的最大流量。

    说明
    • 实际流量(无论是否被流控)超出配置的最大QPS后,流控策略会退化到单机模式。为保证流控效果,阈值之和上限为配置最大QPS的95%,例如最大QPS选择100000 ,则所有规则阈值之和最大值为95000。

    • 集群最大QPS的计算不包含单机规则部分。

    选定总配置量级档位并创建集群后,系统会自动为该应用分配集群的Token Server。

  6. 可选:单击Token Client设置区域操作列的编辑,设置Token请求超时时间,然后单击确定

    在某些场景下,集群流控Client与Token Server之间的网络通信时延较高,需要调整超时时间。

    说明
    • AHAS Sentinel Client 1.6.0及以上版本支持设置Token Client。

    • Token请求超时时间单位为ms,取值范围为(0,10000],一般不建议超过20ms。公网环境网络延时较高,建议设置超时时长约为50ms,但不建议超过80ms。

步骤二:设置集群流控规则

  1. 在应用防护管理页左侧导航栏单击规则管理,选择目标方案页签,单击流控规则页签,然后单击新增流控规则

  2. 新增流控规则对话框,开启是否集群流控,并根据控制台界面指引设置相关参数。

  3. 单击新建,完成规则创建。

    创建规则完成后,可以在规则设置页面查看到创建的集群流控规则,阈值模式集群总体集群流控new2.png