快速玩转 CNStack 2.0 流量防护

作者:冠钰

云原生下的服务治理

在云原生技术的演进过程中,依托云原生技术能力,形成一个可以向下管理基础设施,向上管理业务应用的技术中台,越来越成为企业期望的云原生技术落地趋势。随着云原生技术中台 CNStack 发布具有革新意义的新一代 2.0 版本,其提供的云原生技术能力不仅可以支撑大规模业务系统,也可以将内部不统一的体系集中管理起来,通过中台化的方式输出云原生技术能力。通过 CNStack 可以低成本实现业务应用的云原生改造,并且 CNStack 云原生平台可以为接入的应用提供业务监控、流量管理、服务开放等多种能力。

深入到微服务体系中,CNStack 平台为复杂的微服务架构系统提供了多方面的服务治理与可视化监控能力,其中通过配合可视化数据监控与限流降级能力,运维人员可以确保业务系统不论是在正常运行时、发布变更过程中、还是流量猛增的状态下,都可以平稳对外提供服务。诸如常见的线上突发流量导致服务流量超过承载能力、服务下游依赖出现不可用导致影响自身服务稳定性等场景,CNStack 提供了全方位的流量防护能力,以流量与容错为切入点,从流量控制、不稳定调用隔离、熔断降级、热点流量防护、系统过载保护等多个维度来帮助保障服务和网关的稳定性,同时提供秒级的流量监控分析功能。

快速玩转流量防护

一键接入防护能力

CNStack 平台提供了非常便捷友好的应用接入方式,通过工作空间下的应用管理能力可以快速创建应用,并且通过应用管理接入的应用均会默认自动接入流量防护能力,可以为应用快速全方位配置流量防护。选择 Java 类型创建的托管应用,会通过挂载探针的方式接入流量防护能力,不需要对业务代码进行任何埋点改造,对业务应用无侵入。

在这里插入图片描述

通过 CNStack 平台接入的应用,可以获得秒级业务监控、限流熔断防护、自定义行为配置等多项能力保障服务稳定运行。相比社区流行的开源 sentinel 等流量防护接入方式,使用 CNStack 平台不需要任何代码改造,也不要添加任何额外的配置,可以一键针对所有接入应用开启防护能力。并且 CNStack 平台原生地为所有接入应用提供了更加强大的流量防护能力,以及稳定的秒级监控系统,可以在平台上一站式完成线上系统维护。

在这里插入图片描述

为了快速玩转 CNStack 流量防护能力,接下来针对一些常见的线上业务场景,介绍如何在 CNStack 中通过配置流量防护规则,保障业务应用在各类不稳定场景下正常提供服务。

场景 1. 线上流量激增

线上流量有很强的随机性与不可预测性,因为重要新闻发布、活动促销等因素都会导致突发的激增流量。然而线上系统的容量是有限的,如果突发增长的流量超出了系统承受能力,会导致大量请求处理堆积,CPU/Load 飙高,请求处理缓慢甚至报错。因此,在系统设计时需要针对这种突发流量设置保护措施,在尽可能处理请求的同时保障服务不被打垮。

例如当下火爆的 ChatGPT,在发布短短数天时间内用户量达到百万级别,注册用户之多甚至导致服务器爆满,国内也有多个团队及公司发布类 ChatGPT 的对话机器人,用户注册同样火爆。设想这样一个场景,企业研发并上线了一个类 ChatGPT 对话机器人业务,业务应用集群部署的规模预期可以承载数万用户同时访问,但随着业务上线受到广泛关注并且涌入大量用户注册使用,线上用户规模迅速激增至十万,在对线上系统不做流量保护的情况下,大量用户的访问请求可能会将系统直接打垮,导致整个服务瘫痪陷入不可用。但是在 CNStack 流量防护场景下使用流控规则,可以预防线上的突发激增流量,保障系统在可承受的范围内稳定运行。创建一条流控规则的配置参数可以参考下图:

在这里插入图片描述

按照上述示例中配置的流控规则,流控策略会将每秒访问 /startTalk 接口的请求次数限制为 600,每秒 600 次以内的请求会全部正常通过,当一秒内的请求量达到 600 后会触发限流,限流后超出 600 个的请求会按照顺序排队等待通过,排队等待时间超出 500ms 后快速失败。最终流控效果如下图所示,当初始流量较低时,所有请求均正常通过,当流量快速增长达到阈值 600 时会触发限流,每秒放行 600 个请求通过,其余请求会被拒绝,保障了阈值范围内流量的正常访问。

在这里插入图片描述

场景 2. 微服务自我保护

微服务架构中不同的服务之间可能会存在依赖关系,例如调用第三方的 API、数据库、远程服务,并由不同服务之间相互调用,组成复杂的调用链路。然而,被依赖服务的稳定性是不能保证的,如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。

假设如下场景,微服务通过数据库查询用户信息,所有的查询任务会提交至线程池队列,异步去数据库查询用户信息。由于数据库索引变更或者刷脏页等原因产生了慢 sql,进而使得查询的线程池任务堆积,并最终导致线程池耗尽整个服务不可用。在 CNStack 流量防护场景下,可以针对这样的场景配置熔断规则,对于不稳定的依赖调用进行自动熔断降级,防止下游依赖问题导致自身线程池堆积影响服务稳定性,达到保障整体系统稳定运行的效果。创建一条熔断规则的配置参数可以参考下图:

在这里插入图片描述

按照上述示例中配置的熔断规则,熔断策略会在有请求访问 /getUserInfo 接口时,开启长度为 30 秒的统计窗口,并统计访问该接口请求的响应时间,所有响应时间超过 500ms 的请求会被记录为慢调用请求。当一个 30 秒的统计窗口中,响应时间超过 500ms 的慢调用请求在所有请求中所占的比例超过 80%,熔断策略会立即触发 60 秒的熔断,熔断时间内所有请求都会快速失败。熔断时间到达后,熔断策略会允许新的请求通过,如果新请求正常通过,响应时间未达到慢调用 RT 阈值,将会结束熔断恢复正常访问,否则重新进入熔断状态。

在这里插入图片描述

熔断降级特性基于熔断器模式的思想,在服务出现不稳定因素(如响应时间变长,错误率上升)的时候暂时切断服务的调用,等待一段时间再进行渐进式恢复尝试。一方面防止给不稳定服务“雪上加霜”,另一方面保护服务的调用方不被拖垮。目前支持两种熔断策略:基于响应时间和基于错误,可以有效地针对各种不稳定的场景进行防护。

在这里插入图片描述

场景 3. 细粒度流量控制

线上 Web 流量通常具有非常多的业务属性与参数,如 IP、用户 ID、商品 ID 等,有的业务场景下仅仅从接口纬度配置流控规则是不够的,往往需要与这些业务属性参数结合,针对性的配置流控规则。假设一大波突发请求针对某个热点商品 ID,无法准确预知流量的量级、分布、热点访问情况,大量的请求会击穿缓存,直接打到 DB 层,导致 DB 访问缓慢,挤占正常商品请求的资源池,最后可能会导致系统挂掉。因此针对细粒度的请求属性控制是非常重要的,可以实现热点商品防刷,IP 防刷等一系列更加细粒度的高可用防护策略。

假设某电商平台上架了一批折扣促销商品,其中一款商品被大量用户下单订购,大量的下单修改库存请求打到 DB 层并拖慢整个 DB 访问速度,影响了其余商品的正常下单,导致整个平台购物链路变得不可用。在 CNStack 流量防护场景下使用 web 防护规则,可以针对这样的场景自动分析请求中对应请求属性的值,对每个热点参数限制访问请求次数,防止因为对于热点资源请求数的倾斜,挤占整体正常请求的资源池,达到保障整体系统稳定运行的效果。创建一条 web 防护规则的配置参数可以参考下图:

在这里插入图片描述

按照上述示例中配置的 web 防护规则,web 防护策略会在请求访问 /takeOrder 接口时,自动分析请求中的 URL 参数,针对 URL 参数名称为 keyboard 的请求每秒访问次数限制为 20 个,从业务参数纬度对请求进行针对性的进行拦截。当线上用户对该商品大量下单后,对于 URL 参数匹配到该商品的请求会快速失败被拒绝掉,访问其余商品的请求会正常通过,保障平台整体链路正常下单,达到细粒度流量控制的效果。通过这种细粒度维度的控制,不仅可以在 Web 服务端实现 IP 防刷、热点商品防刷等一系列的细粒度高可用防护策略,也可以实现每个用户每个 API 每分钟限制访问 N 次的具有业务含义的流量管控策略。

在这里插入图片描述

总结

CNStack 2.0 以更全面和更轻量的形态为客户打造了具有竞争力的云原生平台,并且为业务应用托管提供了更加云原生化的方式。具体深入到微服务架构中,CNStack 原生地提供了全方位的流量防护能力,包含流控、熔断降级、web 防护、系统防护等一系列的微服务流量防护手段,可以有效的针对微服务架构,以及中间件依赖,全链路全方位地为服务集群提供可用性保障。对于云原生时代下微服务的架构设计,更加需要面向失败设计的意识,结合 CNStack 流量防护能力,合理地配置流控降级规则,做好事前防护,能够更加稳定的保障线上业务应用运行稳如磐石。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13739.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能python:Python图像预处理:优化图像质量的关键

Python图像预处理:优化图像质量的关键 图像在现代社会中发挥着重要作用,无论是在数字营销、广告还是个人创意中。然而,图像素质对于它们的有效性、美观度和吸引力至关重要。Python图像预处理是数字图像处理的过程,可以帮助优化和…

视觉领域的ChatGPT,Segment Anything

一、简介 这是一个新的图像分割任务、模型和数据集。我们建立了迄今为止最大的分割数据集,其中包含了超过11M张经过授权和尊重隐私的图像,分割掩码总数达到10亿。我们的模型经过设计和训练,可以接受提示,因此可以在新的图像分布和…

关于Redis数据库,我问了ChatGPT几个问题

最近互联网刮起了一阵ChatGPT风,从程序猿、产品经理、运营再到大学生,都在跟ChatGPT对话!例如: 请帮我检查这段代码的BUG 请帮我设计一款功能像虹科VUZIX一样的智能AR眼镜 虹科Domo数据可视化工具有什么功能 帮我写一篇关于Weka并…

C语言字符串围棋盘放麦粒,围棋高手(民间)用C编写的围棋程序。

围棋高手(民间)用C编写的围棋程序。 #include void main() { int n,m,x,y,temp,j0,i0 ; printf("输入棋盘的横格数,竖格数:\n"); scanf("%d,%d",&x,&y); printf("%d,%d\n",x,y); n2*x1 ; m2*y1 ; printf("%…

一步一步实现一个完整的围棋游戏

一、画棋盘 可以理解为简单的字符画技巧:第一行、中间与最后一行不同;对于每一行,第一列,中间与最后一列不同。 画星位是有一点技巧的,重点理解这个公式的含义: ((i-4)%60 && (j-4)%60) #include…

与 ChatGPT 对战国际象棋:仅用三个月,它从完败到完胜!

【CSDN 编者按】也许将来可能会被 OpenAI 的机器人打败,但在那之前依然可以享受人类之于机器的优越感! 原文链接:https://villekuosmanen.medium.com/i-played-chess-against-chatgpt-4-and-lost-c5798a9049ca 未经授权,禁止转载&…

QQ围棋棋谱

腾讯围棋分享出来的链接: https://huanle.qq.com/act/a20170110wq/index-photo.html?type1&chess02000022001100000002020020221121000000002202022122112200002200000222111102000200020020222211200022020202211111200000122222211010120000011111210120221…

GPT-3核心成员出走打造ChatGPT最强竞品,估值50亿美元

来源:量子位 | 公众号 QbitAI 因不满老东家成为微软附庸,11名OpenAI前员工怒而出走。 如今带着“ChatGPT最强竞品”杀回战场,新公司估值50亿美元,一出手就获得3亿美元融资。 这家公司名叫Anthropic,新推出的聊天机器人…

ChatGPT 最强插件,即将开放!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 今年 3 月份时,OpenAI 正式在 ChatGPT 上集成了插件系统(Plugins),被视为其打造 AI 帝国下的第一步棋。 当时除了上线插件系统外&#xff0c…

原来GPT-4订阅后无法删除信用卡

前言 前段时间写了一篇代开Plus的文章,《ChatGPT Plus代充代开服务:解决客户需求的有效方式》今天有一网友找我代开,他没有信用卡,本着帮助友人(其实是想赚点酬劳费)精神,我就使用了自己的信用卡给对方开了,后面发现,竟然发现无法删除信用卡,这不有点尴尬了,特写此…

chatgpt赋能python:Python如何校验18位身份证号

Python如何校验18位身份证号 在中国,身份证号是每个人的唯一标识符,18位身份证号也是现行标准。但是,假如你的应用程序涉及到用户身份认证,你在处理身份证号码时必须非常小心。使用Python可以很容易地进行身份证号校验&#xff0…

这个学期,110多所高校把AI和大模型带进校园

2023 年春季学期,飞桨校园 AI Day 已登陆全国 114 所高校,为同学们提供了丰富的 AI 学习交流机会。 截至目前,超过 400 所高校的同学线上参与 AI 知识竞赛 PK ,累计 2 万余名同学参与春季 AI Day 活动,更有 65 所高校举…

Fox AI横空出世,集成了GPT 3.5,GPT4.0, Midjourney等多种先进的AI模型!

友情提示:文章虽长但句句是精华,跳着看别怪FoxGPT没帮你挣着钱!别看说的就是你。 Fox AI:https://foxgpt.club/ 在人工智能领域,Fox AI以其独特的集合式应用模式,引领着技术的新潮流。这款由广东松狐科技有限公司精心打造的产品…

飞桨AI Day落地澳门高校!助力大湾区打造产教融合新范式

为了推动大湾区建设产教融合的人工智能技术生态,加快培养助力社会经济高质量发展的复合型 AI 人才,飞桨校园 AI Day 登陆澳门,开展《AI 技术发展趋势与人才培养》主题讲座 ,邀请多位澳门科技大学及百度嘉宾,解读当下AI…

简谈我对人工智能的理解与它的应用发展现状

谈起人工智能(Artificial Intelligence),英文缩写 AI,人们理解模糊、众说纷纭、喜忧参半,乐观者认为它极大地推动了产业界的进展,是目前乃至未来引领科技前沿的硬核方向之一,悲观者认为即使在某…

这一波AI浪潮如何重塑互联网产业

人工智能将如何改变互联网以及对企业与消费者关系未来的威胁 微信搜索关注《Java学研大本营》,加入读者群,分享更多精彩 我一遍又一遍地听到或读到诸如“人工智能将绝对改变游戏规则”或“人工智能将改变一切!”之类的话。这些既是轻描淡写又…

Laf v1.0 发布:函数计算只有两种,30s 放弃的和 30s 上线的

一般情况下,开发一个系统都需要前端和后端,仅靠一个人几乎无法胜任,需要考虑的特性和功能非常多,比如: 需要一个数据库来存放数据;需要一个文件存储来存放各种文件,比如图片文件;后…

chatGPT对企业的发展有什么影响

ChatGPT目前正在全世界范围内掀起风暴,成为炙手可热的一个名词。作为基于人工智能的工具的最新产品,目前ChatGPT呈现给我们的似乎只是足够有趣,且从目前已知的信息来看,它似乎还没有任何商业运作相关的计划,大多应用聚…

ChatGPT成功背后的技术原因及其对生命科学领域的启发

来源:机器之心 本文约7000字,建议阅读10分钟本文介绍了ChatGPT成功背后的技术原因及思考。 ChatGPT 是 OpenAI 开发的一个基于文本生成技术的对话机器人,以其惊艳的效果迅速出圈,在这个低迷的 2023 年初,凭着一己之力重…