当前位置:首页 > 生活百科

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

栏目:生活百科日期:2025-04-21浏览:0

简介:微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。

微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。应用高可用服务 AHAS (Application High Availability Service) 是经阿里巴巴内部多年高可用体系沉淀下来的云产品,以流量与容错为切入点,从流量控制、不稳定调用隔离、熔断降级、热点流量防护、系统自适应保护、集群流控等多个维度来帮助保障服务和网关的稳定性,同时提供秒级的流量监控分析功能。AHAS 不仅在阿里内部淘宝、天猫等电商领域有着广泛的应用,在互联网金融、在线教育、游戏、直播行业和其他大型政央企行业也有着大量的实践。

流量漏斗防护原则

在分布式系统架构中,每个请求都会经过很多层处理,比如从入口网关再到 Web Server 再到服务之间的调用,再到服务访问缓存或 DB 等存储。在高可用流量防护体系中,我们通常遵循流量漏斗原则进行高可用流量防护。在流量链路的每一层,我们都需要进行针对性的流量防护与容错手段,来保障服务的稳定性;同时,我们要尽可能地将流量防护进行前置,比如将一部分 HTTP 请求的流量控制前置到网关层,提前将一部分流量进行控制,这样可以避免多余的流量打到后端,对后端造成压力同时也造成资源的浪费。

Ingress/Nginx 网关流量控制

Nginx 为目前比较流行的高性能开源服务器,Ingress 则为实际的 Kubernetes 集群流量入口。AHAS Sentinel 为 Ingress/Nginx 网关提供原生的入口流量控制能力,将流量防护进行前置,提前对多余的流量进行拦截,保障后端服务的稳定性。近期发布的新版 AHAS Nginx 流量防护插件基于 Sentinel C++ 原生版本实现,与旧版本 sidecar 版本相比进行了大量的性能优化,在上万 QPS 的场景也可以保证精确流量控制,同时不会对网关本身的性能带来很大影响。

AHAS Nginx/Ingress 防护具有以下核心能力及优势:

低使用成本:仅需简单配置即可快速将 Nginx/Ingress 网关接入 AHAS 流量防护,并在控制台进行可视化的监控、规则与返回行为配置控制台动态配置流控规则,实时生效,无需 reload Nginx精准的入口总流量控制:AHAS Nginx/Ingress 防护支持上万 QPS 量级精准的入口总流量控制,支持自定义流控粒度(如某一组 Host, URL 维度,甚至可以细化到参数、IP 维度)配套的可观测能力,实时了解网关流量与防护规则生效情况

下面我们就来用一个示例来介绍一下,如何快速将 Kubernetes 集群中的 Ingress 网关接入 AHAS 来玩转流控能力,保障服务稳定性。

快速玩转 AHAS Ingress 流量防护

首先,我们假设我们已有一个创建好的阿里云容器服务的 ACK 集群(如果集群中没有 Ingress,可以在 ACK 组件管理中手动安装),我们只需要在 kube-system 命名空间的 nginx-configuration 配置项 (ConfigMap) 中添加以下两个字段:

use-sentinel: truesentinel-params: --app=ahas-ingress-demo

即可完成 Nginx/Ingress 流量防护的接入。此时我们打开 AHAS 控制台,就可以看到名为 ahas-ingress-demo 的 Ingress 网关了。

成功接入 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 流控实践的一个例子

“上网流量控制系统(网速流量控制软件)” 的相关文章

天猫国际直营是正品吗,官方承诺假一赔十

这一次假一赔十不再只是口号!买了个1600元的墨镜被品牌方证实假货后收到天猫直营店的十倍赔偿也就是16000元详情请点击新闻视频近日,上海市民侯先生在天猫国际的...

上海醒来死亡体验馆为什么关闭(爆料其关闭的真相)

耗时4年、投资400万、门票444元/人,2016年4月4日(清明节)开馆的上海首家4D死亡体验馆——醒来经营3年来,送了4000多人去“死”,今年4月4日,即...

c++截取字符串(前端截取字符串的方法)

字符串截取我想每个程序猿不管是新手还是老手都很熟悉了,像C++里的substr()方法就十分好用,但是这个方法需要知道你要截取位置的起始位置和需要截取的字符串长...

公路自行车品牌介绍(全球十大公路自行车品牌)

对于公路自行车来说,去年是蓬勃发展一年,许多品牌都推出了比以往更有竞争力的产品,所以选购一辆新车是一项棘手的任务。外媒Road.cc在去年他们测试过的竞赛型公路...

1t固态硬盘推荐,性价比最高的固态硬盘是哪个

进入2017年,各大闪存厂商纷纷加紧研发堆叠层数更高的3DNAND,以期占领市场,进一步扩大份额。在今年的5月底,西部数据和旗下品牌闪迪(SanDisk)共同发...

steam无法启动游戏怎么办(绕过steam启动单机游戏)

很多小伙伴在用steam玩2077的时候,会发现点了开始游戏没有反应,我在十号开始玩的时候,也发现这个问题.当时上网搜,很多人在问解决方法,但是处理方法比较少,...

奢侈品文案怎么写,奢侈品简洁广告语分享

一个女人,一手创造了一个伟大的时尚帝国,她有主见有野心、优雅、独立,用行动告诉全世界,女人可以征服全世界。她就是Chanel创始人——CocoChanel。我们...

塔式散热器和下压散热器的区别(两者工作原理和优缺点分

在普通情况下DIY电脑,绝大部分的人都会选择采用塔式散热器,并顺便吐槽一下下压式散热器怎么不好。而只有在考虑视觉效果或者mini主机的安装上,下压式散热器才有发...

arduino编程语言入门(Arduino基础入门篇)

一、简介有些开源项目将少儿可视化编程环境scratch与Arduino相结合,可以进行积木一样拖拉式编程。常见的有:1.S4A不过其Scratch是基于2.0开...

dvd刻录软件哪个好用(刻录机刻录光盘的方法和步骤)

最近好多朋友都在寻找好用的DVD刻录软件,那么DVD刻录软件哪个好?别急,今天macz小编给大家整理了5个简单易用的DVD刻录软件,可以帮您快速完成视频录制,感...