网速流量控制软件 上网流量控制系统( 二 )



网速流量控制软件 上网流量控制系统


成功接入 AHAS 流量防护后,我们要做的就是先定义好一个请求分组 。点开请求分组管理的 Tab 页,我们新建一个名为 test1 的请求分组 。我们将 Host 配置为精确匹配类型,值为 127.0.0.1;将 Path 配置为前缀匹配类型,值为 /test/。具体的配置如下图所示:

网速流量控制软件 上网流量控制系统


此时我们可以预见,所有请求 Host 为 127.0.0.1 并且请求路径以 /test/ 开头的请求都会归类到名为 test1 的分组中去 。此时我们访问一个匹配该请求分组的 URL,如
http://127.0.0.1/test/demo,在 AHAS 控制台-接口详情监控页面可以看到 test1 这个分组的访问量监控 。

网速流量控制软件 上网流量控制系统


接下来,我们要对名为 test1 的请求分组进行流量控制,我们既可以在接口详情的 Tab 页,也可以在规则管理的 Tab 页中新增一条流控规则:

网速流量控制软件 上网流量控制系统


即完成了对 test1 请求分组的流控配置 。这条流控规则的意思是,在一秒以内,该分组内请求次数超过 10 的请求将会被拦截,阈值生效维度为单机维度 。默认情况下,请求被拦截后会返回 429 Too Many Requests 状态码,我们也可以通过 ConfigMap 或直接在控制台配置流控触发后的返回逻辑 。
如果此时我们使用压测工具发起 QPS 大于 10 的流量,具体的效果会如下图所示(接口详情监控):

网速流量控制软件 上网流量控制系统


若我们希望针对某个请求分组的集群访问总量进行精确控制,可以配置集群流控规则,配置总阈值即可,而无需关心网关实例数与负载均衡情况 。
综上,我们对 Ingress/Nginx 网关进行流控控制,需要先要定义好一个的请求分组,然后再针对这个分组配置相应的流控规则即可,完整的流程可以参考以下流程图:

网速流量控制软件 上网流量控制系统


【网速流量控制软件 上网流量控制系统】以上就是在阿里云容器服务 ACK 集群上的 Ingress 流控实践的一个例子

推荐阅读