范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Sentinel是如何实现分布式限流的?

  hello,大家好,我是张张,「架构精进之路」公号作者。
  随着近些年系统稳定性要求越来越高,限流是保障服务高可用的方式之一,尤其是在微服务架构中,对接口或资源进行限流可以有效地保障服务的可用性和稳定性。
  在众多限流平台中 Sentinel 凭着丰富功能特性和多次阿里双十一的线上实践,成为最热门限流平台之一,Sentinel 是阿里巴巴提供的一种限流、熔断中间件,与RateLimiter相比,Sentinel提供了丰富的限流、熔断功能。它支持控制台配置限流、熔断规则,支持集群限流,并可以将相应服务调用情况可视化。
  本文就Sentinel相关特性进行分析并测试并对底层原理进行分析,为后续相关系统建设积累经验。一、总体流程
  之前我们学习过限流比较主流的三种算法:漏桶,令牌桶,滑动窗口。而Sentinel采用的是最后一种,滑动窗口来实现限流的。
  先来了解一下总体流程:
  上面的图是官网的图,从设计模式上来看,典型的的责任链模式。外部请求进来后,要经过责任链上各个节点的处理,而Sentinel的限流、熔断就是通过责任链上的这些节点实现的。
  要想深入了解原理,还是得从源码上入手,下面直接进入Sentinel的源码阅读。二、源码阅读2.1源码阅读入口及流程总结
  读源码先得找到源码入口。我们经常使用@ SentinelResource来标记一个方法,可以将这个被@ SentinelResource标记的方法看成是一个Sentinel资源。因此,我们以@ SentinelResource为入口,找到其切面,看看切面拦截后所做的工作,就可以明确Sentinel的工作原理了。直接看注解@SentinelResource的切面代码(SentinelResourceAspect)。
  可以清晰的看到Sentinel的行为方式。进入SentinelResource切面后,会执行SphU.entry方法,在这个方法中会对被拦截方法做限流和熔断的逻辑处理。
  如果触发熔断和限流,会抛出BlockException,我们可以指定blockHandler方法来处理BlockException。而对于业务上的异常,我们也可以配置fallback方法来处理被拦截方法调用产生的异常。
  所以,Sentinel熔断限流的处理主要是在SphU.entry方法中,其主要处理逻辑见下图源码。
  可见,在SphU.entry方法中,Sentinel实现限流、熔断等功能的流程可以总结如下:获取Sentinel上下文(Context);获取资源对应的责任链;生成资源调用凭证(Entry);执行责任链中各个节点。2.2 责任链的执行
  再来看下面这张图,是不是很清晰了?
  NodeSelectorSlot用于获取资源对应的Node,并构建Node调用树,将SentinelSource的调用链路以Node Tree的形式组起来。ClusterBuilderSlot为当前Node创建对应的ClusterNode,聚合相同资源对应的不同Context的Node,后续的限流依据就是这个ClusterNode。
  ClusterNode继承自StatisticNode,记录着相应资源处理的一些统计数据。StatisticSlot用于更新资源调用的相关计数,用于后续的限流判断使用。FlowSlot根据资源对应Node的调用计数,判断是否进行限流。
  至此,Sentinel的责任链执行逻辑就完整了。三、原理总结
  通过对Sentinel源码的梳理,可以很清晰的理解Sentinel的限流过程,总结如下:三大组件Context、Entry、Node,是Sentinel的核心组件,各类信息及资源调用情况都由这三大类持有;采用责任链模式完成Sentinel的信息统计、熔断、限流等操作;责任链中NodeSelectSlot负责选择当前资源对应的Node,同时构建node调用树;责任链中ClusterBuilderSlot负责构建当前Node对应的ClusterNode,用于聚合同一资源对应不同Context的Node;责任链中的StatisticSlot用于统计当前资源的调用情况,更新Node与其对用的ClusterNode的各种统计数据;责任链中的FlowSlot根据当前Node对应的ClusterNode(默认)的统计信息进行限流;资源调用统计数据(例如PassQps)使用滑动时间窗口进行统计;所有工作执行完毕后,执行退出流程,补充一些统计数据,清理Context。
  参考文献:https://github.com/alibaba/Sentinel/wiki
  希望今天的讲解对大家有所帮助,谢谢!
  Thanks for reading!
  作者:架构精进之路,十年研发风雨路,大厂架构师,CSDN 博客专家,专注架构技术沉淀学习及分享,职业与认知升级,坚持分享接地气儿的干货文章,期待与你一起成长。
  关注并私信我回复"01",送你一份程序员成长进阶大礼包,欢迎勾搭。

台湾土豪极奢淫欲,有4个老婆上百位情妇,人称现代韦小宝这世上真的是无奇不有,大家相信吗?台湾有位土豪极奢淫欲,他有4个老婆上百位情妇,人称现代韦小宝。这听起来是不是让人觉得有些匪夷所思,然而这事却确确实实在现实中发生了,到底是怎么回事迷茫的人生有很多选择,我相信,救世主不会降临迷茫,真的很迷茫。这是大多数青年的心声,在学校有多么的好高骛远,在社会中就会多么的不如意。曾经的豪言壮志都已离我们而去,只剩下满满的现实折磨着我们。曾经,想快快长大,挣许多钱,自由人生而平等人生而平等,这是为大多数人所倡导的一句话,也是为大多数人所信仰的一种观念。然而人并不是平等的,虽然都是由父母带到这个世界上,虽然身体构造是相同的,但是人的思想人的意识却有很大的差别个人生活感悟8110081刨开愤怒,展露的都是虚无。82世间之人皆为凡人83盲目的自大是虚诞的幻想,只会带来毁灭。84所言所行皆是修行85践行圆满践行真理86每个人都必须也必然要为发生在他生活的一切负责解析蜀汉灭亡时有多惨烈历史开讲东汉末年,天下三分,群雄逐鹿,战乱不断。诸葛亮出师表有言先帝创业未半而中道崩殂。刘备在关羽被杀后,愤懑不平,执意要攻打东吴,为二弟报仇,却被陆逊打败,在永安因病去世,最终未懂得欣赏和寻找人生中的美,才能拥有最适合自己的生活作者子墨春风一缕,拂过心头,眉间心上都是对春天的期待,树梢上的浅绿,随风滑落浅入心眸。指尖的光阴,凝香成诗,轻拈花草的诗句,扑面而来的是日渐温婉的诗意。轻风细雨,不经意间就让春天的罗梅罗决赛的点球大战没敢看全程我称呼利马为圣人TyCSport开展了名为世界杯冠军巡礼的访谈计划,专门采访阿根廷在卡塔尔世界杯的夺冠成员,今天轮到了克里斯蒂安罗梅罗。决赛的点球大战,我唯一有看的就是里奥的点球,然后我跪在了地板睡前朋友圈晚安心语心情人生何必如初见,但求相看两不厌不问,不闹,不失望,我不是例外,不想,不等,不期待,我不是偏爱。晚安好听的话别当真,难听的话别较真。这样你会过得轻松很多。晚安成年人的沟通,70是情绪,30是内容。情绪不对内容就会一口气看懂楚国历史春秋五霸之一的楚国,战国时期为何如此拉跨在阅读此文之前,麻烦您点击一下关注,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持兔逢新春发战国七雄中楚国国土面积最大,最强盛时疆土西起大巴山巫山武陵山,东至大海浮生茶语一杯茶品人生沉浮茶,隐者闲情,世界本来简单,生活中原本没有痛苦,痛苦源于比较之中。一杯茶品人生沉浮,平常心,造万物世界。茶,淡然于世间品茶,学会欣赏人生。话谈天下事,茶沏一室香,我想,我会好好品茶上集镇镇直小学举行学精神续血脉系列活动为了让学生铭记历史,继承革命光荣传统,弘扬民族精神,营造积极向上的校园氛围,进一步引导广大少先队员更加热爱党拥护党听党话跟党走,让红色基因革命薪火代代传承。3月4日,淅川县上集镇镇
最强中端芯?骁龙7Gen2预热丨小鹏P7i正式上市,24。99万元起高通官宣骁龙新平台发布会定档3。17,不出意外会发布今年中端芯7Gen2,回顾前两年的骁龙中端芯,只能说惨不忍睹,778G挤牙膏,能效还行性能不够,780G7Gen1两个三星代工的支持新能源发展,首单光伏发电公募REITs正式获批!基础设施REITs是基础设施投融资机制的重大创新,是增强金融支持实体经济能力推动经济高质量发展的长期举措。近日,中国证监会批复同意中航京能光伏封闭式基础设施证券投资基金(以下简称中老默来了!官方山东外援麦克莱默正式完成注册老默来了!官方山东外援麦克莱默正式完成注册直播吧3月10日讯今日,CBA官方公布最新一期20222023赛季CBA联赛外籍球员注册信息。其中山东外援麦克莱默正式完成注册,将可以出战可能改变中端市场格局?平台网友都是如何评价一加Ace2V要说,最近哪款手机比较热门,一加Ace2V肯定有一席之地。其确实有明星机型的潜质无疑,因而备受关注也在意料之内。作为当前2K价位段独一无二的明星机型,高颜值与高质感,而且价格还亲民克伦威尔时期英国海军建设研究海军建设在某种程度上是国家经济发展的风向标,因为和陆军不同,海军建设也许并不是必须的事情。陆军建设当然是一个必须要做的事情,因为无论是哪个国家,他们都无法避免的会遇到一些陆上战争的两会湘声丨印遇龙建立生物医药猪模型研发平台,用猪换下小白鼠全国人大代表中国工程院院士中国科学院亚热带农业生态研究所首席研究员印遇龙。红网时刻新闻记者王义正北京报道全球科学家利用大小鼠等小型动物开展研究,在认识疾病机制等方面取得了一定成效,宇宙部分星体已经死去?预示着太阳寿命即将完结?人类该何去何从有学者指出,目前所观察到的部分星体其实已死去,这意味着随着太阳的消失,整个太阳系也会濒临死亡。那太阳到底会不会爆炸呢?我相信你早就有了答案。万物皆有始有终,没有任何事物会有例外。我只要你足够强大,所行皆坦途,所见皆笑脸!为什么有些人活得很累,生活过得贫穷,物资缺乏经常遇到些破事好机会都被别人抢走。感觉自己活的悲惨,抱怨老天不公,其实每件事情深究起来,最根本的原因,还是你不够强大!内心过于脆弱,受不漫威宣布新复仇者联盟!阵容成员完全重组,X战警或由瓦坎达引出迪士尼高管今天宣布,2025年的复仇者联盟5康之王朝上会带来全新的复联队伍。在最新一次大型媒体采访中,迪士尼CEO鲍勃艾格透露了漫威的全新复联,他表示漫威将会平衡新角色和元老之间的勇士剩余赛程一览,难度很大,或将无缘附加赛!勇士又双叒输球了!今天,勇士以110131惨负莫兰特亚当斯克拉克缺阵的灰熊,惨遭三连败。尴尬的是,库里复出后勇士还未尝一胜,先后输给湖人雷霆灰熊。双方数据统计如下勇士队库里29分7汇聚发展的信心和力量今年是全面贯彻落实党的二十大精神的开局之年,也是推动经济运行整体好转的关键之年,中国经济走势成为各界关注的热点话题。代表委员们认为,要加快经济恢复实现今年发展目标,当务之急是改善社