基于云原生网关的流量防护实践
涂鸦 阿里云云原生 2023-08-17 18:31 发表于浙江
背景
(资料图片)
Cloud Native
在分布式系统架构中,每个请求都会经过很多层处理,比如从入口网关再到 Web Server 再到服务之间的调用,再到服务访问缓存或 DB 等存储。在下图流量防护体系中,我们通常遵循流量漏斗原则进行流量防护。在流量链路的每一层,我们都需要进行针对性的流量防护与容错手段,来保障服务的稳定性;同时,我们要尽可能地将流量防护进行前置,比如将一部分 HTTP 请求的流量控制前置到网关层,提前将一部分流量进行控制,这样可以避免多余的流量打到后端,对后端造成压力同时也造成资源的浪费,为此,在网关侧做流量防护是十分有必要的。
在传统的流量网关场景下,对流量进行访问控制是一个很常见的需求。比如在 nginx 中,limit_req 就是一个最为常见的限流配置,而在 Envoy 中,也支持本地以及全局两种模式的限流,但是二者均有其局限性。在功能的丰富度上,二者不及常见的限流组件开源项目,如 Sentinel 、Hystrix 等,在实际的使用场景中,实用性也很弱,比如不支持无性能损耗的集群限流等等。
云原生网关的流量防护功能,底层使用了 Sentinel 内核,并做了一定的强化和改造。Sentinel 是以流量与容错为切入点,从流量控制、不稳定调用隔离、熔断降级、热点流量防护、系统自适应保护、集群流控等多个维度来帮助保障服务和网关的稳定性,同时提供秒级的流量监控分析功能。其商业化产品不仅在阿里内部淘宝、天猫等电商领域有着广泛的应用,在互联网金融、在线教育、游戏、直播行业和其他大型政央企行业也有着大量的实践。
云原生网关作为集安全、流量、微服务三位于一体的下一代云上网关,在诞生之初,就被赋予了全场景使用的一个定位,为此流量防护也是其必备的一个能力,在流量防护能力上,具备以下优势:
具备与流行的流量防护项目如 Sentinel、Hystrix 等同等丰富的流量防护功能,并且还在不断迭代更新中。 天然支持均摊式的集群流控,使得用户无需关心网关以及 Upstream 服务的节点数。 提供配套的秒级监控,并支持 QPS、拒绝 QPS 、异常 QPS 、RT 以及并发数等丰富的流量指标,同时支持历史数据的查看,便捷地实现先观测,再配防护规则的使用路径。 流量防护规则秒级生效,配置防护规则后,无需等待,秒级生效。Sentinel 流量模型介绍
Cloud Native
如下图所示,流量防护是指,针对不同的流量,设置一道适合的屏障策略,在该屏障的观测下,一旦判定该流量不能被通过,应该及时拦截,从而达到保护网关、以及后端 Upstream 服务的作用。
云原生网关目前支持 QPS 限流、并发控制、熔断三种不同的流量防护能力, 本文将从这三个功能分别去阐述其具体的效果,以及适用的场景。
QPS 限流 这是流量防护最通用的一个场景,顾名思义,就是限制某个路由的流量,使其只能在一定的速率内访问网关,防止某个路由流量激增,造成后端服务的崩溃。云原生网关不仅支持路由级别的限流,而且天然支持均摊式的集群流控,用户无需关心网关节点的数量或者后端服务节点的数量,只需要配置一个总体的阈值,就可以轻松实现对某个路由的总体阈值限流。 并发控制 并发控制的具体实现,是通过实时维护一个并发值(这个值指的是一秒内,该路由流量的最大并行值,即未完成的请求数量),一旦下一个请求超过了设定的阈值,就拦截该请求。该功能不同于 QPS 限流,即使是在 QPS 较低的场景下,也能保证关键的资源,不被持续累积的慢调用所占用,而导致服务不可用,比如后端 Upstream 服务的线程池以及数据库资源等等,假设长期被占用,就会导致该 Upstream 服务出现异常。和 QPS 限流类似,云原生网关天然支持均摊式集群并发限流,只需配置一个总体的并发阈值,就可以实现对某个路由的总体并发控制。 熔断 在 Sentinel 、Hystrix 等限流项目中,都能见到该功能,就如字面上的意义,熔断是指,在路由的流量出现了某个异常状态,需要及时熔断该流量,从而保证与该路由相关 Upstream 服务能够高效稳定的运行,而不受某个异常路由流量的影响。熔断机制背后对应熔断器模型 (Circuit Breaker)。当调用处于某种不稳态(通常是出现异常或慢调用)达到一定程度(通常关注比例而不是绝对量),熔断开启 (OPEN),所有的请求都会 fallback 掉;过一段时间后进入探测恢复阶段 (HALF-OPEN),放过一定数量的请求,以这些请求的情况来 indicate 下游服务的恢复情况,若这些请求达到稳态,则恢复对应调用 (CLOSED);否则重回熔断状态,具体原理如下图所示:
另外,云原生网关的流量防护能力底层是基于 Sentinel 的毫秒级滑动窗口精确统计,为此,云原生网关的流量防护功能界面也配套了一个秒级监控系统,可以通过 观测=>发现问题=>创建防护规则 这个使用路径去更好地在云原生网关上创建流量防护规则。
如何在云原生网关上进行流量防护
Cloud Native
QPS 限流
下面,我们将动手去实践,在云原生网关上去使用上述的三大流量防护功能。
首先,进入到云原生网关实例中的路由配置界面,选择“策略配置”里的“限流”选项,手动给这个路由注入一个 QPS 10000 左右的流量,在配套的秒级监控可以看到 5 分钟内该路由的 QPS 情况。
在秒级监控的下方,可以看到流控规则、并发规则,熔断规则三个配置项,首先先配置一条限流规则,具体参数如下图所示:
打开开启开关并点击保存按钮,就顺利加入了一个 QPS 限流策略,这个策略的含义是,当路由流量的总 QPS 达到 5000 的时候,统计窗口内下一个到来的流量会被拒绝,拒绝的行为是,返回一个HTTP包,返回码是 429 ,内容是一个 JSON 格式的文本,内容是:
{ "context": "just for test"}
此时再返回查看秒级监控,就可以看到如下的曲线图:
并发控制
并发规则也是类似,只不过,控制值由 QPS 变成并发数,具体的参考配置参数如下:
返回查看秒级监控,既可以看到以下的结果:
熔断
熔断规则的配置较为复杂,具体的含义可以查看配置界面的说明,具体的参考配置如下:
这个规则的具体含义是,在 20 秒的统计窗口内,从第 5 个请求之后,开始统计慢调用的比例,一旦比例超过 20% ,立马熔断该路由的流量,其中慢调用的定义为 RT 超过 1 ms 的请求。配置完成之后,监控的表现如下图的所示:
上述的例子只是为了演示效果,在实际生产环境中,需要更为谨慎的去定义慢调用比例以及熔断时长等参数,否则可能会导致后端服务整体不可用,是一个风险较高的流量防护功能。除了慢调用比例之外,还支持异常比例的熔断条件判断,异常的定义是指 HTTP 调用发生 5XX 的情况。
总结
Cloud Native
本文详尽地介绍了如何在云原生网关上做流量防护,包括在不同的场景下该配置何种防护规则,并给出了详细的使用路径,可以从中体验出云原生网关的流量防护功能相对于其它网关产品限流功能的优势。作为云上网关的核心功能之一,后续我们也会持续强化流量防护功能,也欢迎大家持续关注阿里云官网的 MSE 微服务引擎产品动态。
标签:
- 基于云原生网关的流量防护实践
- 金融持续加力支持实体经济
- 挪威央行宣布加息25个基点
- 新蒙迪欧2.0GTDi240怎么样及东风雪铁龙C4L多少钱
- 宏裕包材北交所上市首日收涨9.63% 成交额达1.5亿元
- 着实让人一秒惊叹!smart×BRABUS又搞事情了!
- ipad导航卫星信号弱什么原因(ipad导航)
- 92岁仍不“退休”的劳模!黄宝妹传记在沪首发,00后大学生现场“追星”
- 亚运临近,这场护航赛场安全的赛事激烈角逐
- 解锁非遗技艺体验,快来制作属于你的绢人娃娃→
- 致力提供全方位绿色环保解决方案 天元智能6月29日上交所首发上会
- 首航高科:8月15日融资买入250.41万元,融资融券余额3.29亿元
- 白萝卜不要腌着吃了,简单一拌,酸辣开胃,1个小时就能吃
- 不可阻挡!44分25篮板,沉寂5年的天才中锋,终于要兑现天赋了?
- 科沃斯地宝X2 PRO评测:换代式旗舰升级 “方”能扫清全屋垃圾
- 王者之心2新区折扣 王者之心2王者之战玩法
- 君禾股份(603617)8月18日主力资金净卖出24.07万元
- 牧原股份上半年亏27.8亿拟分红40亿 股价跌1.35%
- 新时达2涨停
- 蔚来在欧洲正式启用首个第三代换电站
- 实拍小鹏P7i顶配版,售价达到33.99万,还能大卖吗?
- 好猫/好猫GT尊荣型上市 新车型能否扩大市场份额
- 二十载不离不弃坚守“兄弟情” 江西好人用爱诠释“长兄如父”
- 九江德福科技在创业板挂牌上市
- 属鼠的和属猪的相配好不好,71年的猪和60的鼠相配吗
- 2023级新秀夏联观察(热火篇):太多落选秀反而导致了人才流失?
- 开学季必备夏日陪伴千玺同款手机 nova11系列玩出精彩
- 差点被渣男毁了,她们怎么还敢谈恋爱?
- 喜欢她的穿搭风格,简单舒服又带着小颓废腔调,够时髦
- 美国夏威夷毛伊岛大火已致111人死亡 多处火势未完全被控制
- 宣城市宣州区:“三个坚持”推动纪检监察干部教育培训走深走实
- 深圳到厦门火车票价_深圳到厦门火车
- 想爱就爱超清完整版在线观看(想爱就爱片尾曲)
- SynGAP研究基金授予130000美元赠款
- 四川一男大学生疑被拐骗至境外,姐姐发声
- 暑期治疗孩子白癜风郑州白癜风医院专业诊疗
- 库里亲承!恭喜鲁尼!小KD迎生涯转折,令格林难堪,勇士很正确
- 世界最濒危虎种何以安家南昌
- 人民健康守护者 健康城市推动者
- 德赫亚加盟拜仁!瓜迪奥拉拒绝曼城门将离队,图赫尔做出无奈选择
- 以案说法丨剥树皮为何被判刑?这种树千万动不得→
- 葬你的爱人(关于葬你的爱人简述)
- 易瑞生物08月18日主力大幅流出
- 海联金汇:全资子公司青岛海联金汇电机有限公司主要生产、销售家电类和汽车类电机
- 《吸血鬼幸存者》Switch和Xbox更新多人模式
- 2023年广西新能源产业链供应链对接会举办
- 亚信科技AIGC智能内容生产平台入选信通院“大模型和AIGC产业图谱”
- 明嫦娥桂兔铜镜(关于明嫦娥桂兔铜镜的简介)
- 中原银行开封分行与开封文投集团开展 “党建引领 共赢未来”篮球友谊赛
- 张掖市委网信办组织开展预防未成年人网络沉迷进社区行动
- 7.09%!美国30年期房贷利率创21年新高
- 启迪环境2涨停
- 锴威特上市超募1.35亿首日涨109% 近3年现金流2年负
- 盈亏平衡与B站的广告“野望”
- 襄阳市住建局人民公园管理处:及时修补破损台阶 确保群众脚下安全
- 范迪安:用美术向世界讲述中国故事
- 国家原生态景点分享,张家口涿鹿县-黄羊山
- 西安市红会医院心血管内科使用FFR指导治疗冠脉弥漫性病变
- 8月18日基金净值:广发医疗保健股票A最新净值1.759,跌2.2%
- 真如副中心未来怎么发展?普陀区召开人大建议政协提案集体答复会
- 江西发现植物新物种阳际峰景天
- 国家公园纪录片生动展现人与自然和谐之美
- 长虹美菱:公司空调产品型号较多
- 万里股份:2023年半年度净利润约-1001万元
- 浦东探索“箱体清运”新模式,解决建筑垃圾处置难题
- 视觉中国告别人侵权被反将一军!这次属实是搬石头砸自己脚
- 《星空》玩家能走私违禁品 被捕时可选择坐牢或拒捕
- 离婚后对产权有什么分配的
- 天健集团:与壹创国际股东方签署协议书
- 萍乡湘东区东桥镇江边村境内乡道改造不彻底 留下2公里未铺沥青大江网-信息日报
- 中信证券:自动驾驶3.0时代 数据闭环能力将成胜负手
- 挤走内马尔+穿10号!姆总兄弟官宣,哈维愤怒,大巴黎造3亿齐飞
- 大反转,梅西离队后揭秘内幕!巴萨自作聪明,球王受够姆巴佩了
- 中信证券维持高伟电子(01415)“买入”评级 看好其A客户手机端料号拓展
- 吉比特(603444.SH):SLG产品在持续投入中
- 惠龙高速全线唯一一座跨铁路连续梁合龙
- 2023年南宁邕宁区图书馆七夕活动时间+内容
- 630kva变压器能承载多少安电流
- 济南医保异地就医定点机构选择
- 蔡女鞋(关于蔡女鞋简述)
- 太年轻!17岁少女双乳切除 医生紧急提醒
- 【药都薯乡·壮美定西】到书画之乡 畅游于艺术海洋
- 涞水农商银行:创新推出“灾后重建贷”,助力灾后重建工作
- 公牛集团上半年实现净利润18.22亿元 三大主营业务发展稳健
- 石油行业市场前景分析:92、95号汽油预计上调50元/吨
- 多功能候车座椅数不得超总数20%
- 均价2.95万元/平方米 北京门头沟1458套共有产权房下周一申购
- 用初心汇聚光芒 国瓷永丰源 “中秋礼·天青时代”新品发布
- 民族品牌指数收跌1.64% 公牛集团上涨6.57%
- 南海伏季休渔期结束 秋捕大幕正式拉开
- rpc服务器不可用怎么办 RPC服务器不可用解决方法有哪些 rpc服务器不可用是啥意思
- 广西石油全力保供南海伏季开海作业用油
- 培训应急救护技能 提高自救互救能力
- 南海开渔 千帆竞发
- 青海湟中:格桑花家具体验馆 河湟木雕焕发时代光彩
- 中秋节作文300字
- 潜在拐点来了?!美元短线跳水,黄金拉升直逼1900:多头还不够兴奋
- Simply NUC 将通过全球首款配备 Intel Core i9 CPU 的 4×4 迷你 PC 重新定义计算
- 【打卡南博】快来看看本届南博会主题国馆、主宾国馆长啥样
- 生肖属鸡人:下半年你的财运来了!晚年一生平顺,万事大吉