集群流控可以精确控制集群内某个服务的实时调用总量,适用于网关流量控制的场景。本文主要介绍设置集群流控的操作步骤。
计费说明
自2021年03月22日起,集群流控功能公测期结束,正式开始计费。集群流控功能按应用申请的QPS量级计费,具体计费方式,请参见价格页面。
说明 在2021年03月22日之前创建,且在03月22日之后未进行变更的集群暂不开启计费。
集群流控试用档位的Token Server可供您继续测试使用,不会产生额外费用。试用档位单个应用QPS阈值之和不超过2000,接口总流量不超过3000。
说明 试用档位仅供测试效果使用,不保证稳定性,请勿在生产环境使用。
前提条件
- 已开通AHAS专业版,若没有开通,请进入开通页面。
- Nginx Sidecar版本需在1.3.0及以上;Ingress需使用最新版本。
步骤一:选择档位创建集群
- 登录AHAS控制台,然后在页面左上角选择地域。
- 在控制台左侧导航栏中选择 。
- 在Ingress/Nginx防护页面单击目标应用卡片。
- 在左侧导航栏单击 。
- 在集群流控资源配置区域内,选择集群类型为试用,单击创建,然后在对话框中单击确认。
总配置量级即最大QPS,表示需要流控的接口所能承载的预估的最大QPS,代表可能到来的最大流量。
说明 实际流量(无论是否被流控)超出配置的最大QPS后,流控策略会退化到单机模式。创建集群后,系统会自动为该应用分配集群的Token Server。 - 可选:单击Token Client设置区域操作列的编辑,设置Token请求超时时间,然后单击确定。
在某些场景下,集群流控Client与Token Server之间的网络通信时延较高,需要调整超时时间。
说明 Token请求超时时间单位为ms,取值范围为(0,10000],一般不建议超过20 ms。公网环境网络延时较高,建议设置超时时长约为50 ms,但不建议超过80 ms。
步骤二:设置集群流控规则
- 在目标应用管理页的左侧导航栏单击规则管理,选择目标方案页签,然后单击新增流控规则。
- 在新增流控防护规则对话框,开启是否集群流控开关,并设置相关参数。
参数 描述 示例 接口名称 设置接口名称,可选择对应Nginx API分组名称。 default:localhost:8080 是否集群流控 开启此开关,即对集群内资源的调用总量进行限制。 开启 是否开启 开启此开关,规则生效;关闭此开关,规则不生效。 开启 集群阈值 表示该接口的限流阈值。 100 统计窗口时长 集群流控统计的时间窗口长度,取值范围为1秒~24小时。 1秒 失败退化策略 当出现连接失败、通信失败或Token Server不可用等情况时,流控规则可选择退化到单机限流模式或直接通过而忽略失败情况: - 退化到单机限流:当出现通信失败的情况时,退化到设置的单机阈值来进行流控。需要在规则中配置单机退化阈值,代表单机的兜底阈值。
- 直接通过:当出现通信失败的情况时,请求直接通过。
退化到单机限流 退化阈值自动调整 开启后会自动调整退化阈值,默认关闭。 说明 此功能要求SDK版本≥1.8.6。关闭 退化单机阈值 代表单机的兜底阈值。当失败退化策略选择退化到单机限流时,需要设置此选项。 10 重要 Nginx集群流控默认采用批量模式请求Server以提升性能,其准确性根据流量分布的影响可能存在2%~6% 的偏差。 - 单击新增,完成规则创建。创建规则完成后,可以在规则设置页面查看到创建的集群流控规则,阈值模式为集群总体。
文档内容是否对您有帮助?