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

小谈Springcloud中的几个主流熔断器

  前言
  最近在github里比较火的一个新闻就是trending的弃用;确实作为追求技术价值的组织机构,github弃用毫无价值感的trending,是一件好事,一些劣质的项目长期占用着榜单前列,确实对技术有误导的非常大的恶;同样作为国内某号称国内最大的IT技术论坛的网站,也应该认真的看待这个问题了;看看榜单前几篇文章,真够寒酸;今天在榜单里看到一个写springcloud的文章,熔断器停留在springboot2.1.x的版本基础上,这样的文章,还能叫创新吗;所以今天咱们就来好好的看看Springcloud中的几个主流熔断器
  熔断器
  在微服务体系架构中,业务被拆分成众多的单体微服务单元(Springboot程序),服务间通过服务发现机制,借用HTTP/TCP进行RPC调用。考虑到可能出现的网络原因或者服务本身原因,在服务或者RPC网络不可使用(访问)时,如果某源头服务出现问题,例如网络延迟,都会对调用服务造成相应的影响,有时甚至由于同时访问目标过多,会导致服务瘫痪,甚至导致服务"雪崩"。熔断器就是一种应对这种灾难风险的策略; 即当服务不可以使用是或者是服务到达某个临界点时, 对该服务进行阻断的处理方式, 通过这种方式,可以容忍这样的灾难服务,而不会使整个大的体系崩溃,有点像家庭用电里的断路保险盒,某个线路负载过重了,只是断掉该线路,而整个家庭线路依然可以提供服务。
  几个Springcloud框架中的熔断器
  这里注意,熔断器的产品有很多;我们这里特别强调的是,这里的熔断器是Springcloud架构中的, 也就是其是构建在Springcloud架构体系中的, 脱离了Springcloud,这些产品就没有生命了;也就只能是使用在java环境里,你的微服务也必须使用java来进行实现,而且要快速搭建,还必须使用springboot已经这些产品在springcloud里提供的组件(当然,可以自己通过这些产品的API来进行调用)
  隔离级别
  信号量模式
  在该模式下,接收请求和执行下游依赖在同一个线程内完成,实现也很简单,一个简单的计数器,当请求进入熔断器时,执行tryAcquire(),计数器加1,结果大于阈值的话,就返回false,发生信号量拒绝事件,执行降级逻辑。当请求离开熔断器时,执行release(),计数器减1。
  信号量模式由于都是在一个线程上下文中;不存在线程上下文切换所带来的性能开销,所以大部分场景应该选择信号量模式,但是在下面这种情况下,信号量模式并非是一个好的选择。
  比如一个接口中依赖了3个下游:serviceA、serviceB、serviceC,且这3个服务返回的数据互相不依赖,这种情况下如果针对A、B、C的熔断降级使用信号量模式,那么接口耗时就等于请求A、B、C服务耗时的总和,无疑这不是好的方案。
  线程池模式
  在该模式下,用户请求会被提交到各自的线程池中执行,把执行每个下游服务的线程分离,从而达到资源隔离的作用。当线程池来不及处理并且请求队列塞满时,新进来的请求将快速失败,可以避免依赖问题扩散。线程池模式由于是线程资源分割的;减少所依赖服务发生故障时的影响面,比如ServiceA服务发生异常,导致请求大量超时,对应的线程池被打满,这时并不影响ServiceB、ServiceC的调用。
  但是线程池模式的最大缺点: 请求在线程池中执行,肯定会带来任务调度、排队和上下文切换带来的开销。因为涉及到跨线程,那么就存在ThreadLocal数据的传递问题,比如在主线程初始化的ThreadLocal变量,在线程池线程中无法获取; 这里笔者在早期的微服务项目中使用Hystrix的线程池隔离方式,就遇到过类似的坑,当然知道了底层的原因有也相应的对策;这里可以单独写一个文章来讲讲这个坑。
  三种主流熔断器的现况
  Hystrix
  Netfix已经停更了Hystrix项目,从SpringCloud版本2020.0.x项目开始,诸多的Netfix的组件都已经从springcloud的支持里移除,其中就包括Eureka,Hystrix, Ribbon; 所以Hystrix熔断器已经从Springcloud解决方案里废除掉了,如果你的项目里已经使用了Hystrix,那么请在你的SpringCloud下次升级的时候,找到替换产品;如果你的项目还没有开始的话,那就请不要再使用Hystrix,使用Springcloud官方推荐的Resilience;
  Resilience4j
  在Hystrix从SpringCloud家族中被删除后,SpringCloud官方推荐的是另一款目前来说还比较小众的项目的Resilience4j,可以在github上找到这个开源的项目;在上图的三种产品的比较中,我们就可以看到在三种产品中,resilience4j是一个适中的定位;在功能上没有sentinel支持得多,但是功能也一样可以覆盖到对熔断器的大多数要求; 就笔者个人使用而言,目前resilience的文档相对来说还不够丰富,使用的不多,文档就相对来说比较难找了,但是resilience4j非常的轻量级,作为开发中需要对熔断器有一些自己的定制化的话,比较推荐使用这个产品; 目前resilience对feign的支持,只能说是支持,但是还不是支持得特别方便,如果要比较方便的支持到feign的应用,只能在resilience4j的基础上进一步进行封装。总体来说,优于Hystrix, 可灵活进行扩展和应用。
  Sentinel
  首先来说这是Alibaba出品的一个产品;所有他有着alibaba产品共有的特点; 脏,乱,但不差! 在上面的图中三个产品的比较中,可以看到大部分比较的方面,Sentinel都是胜出的,确实,从功能上而言,Sentinel相对于另两个而言,是较全面的,还提供了一个Sentinel dashboard,可以图形化地进行查看,通过和nacos的集成,可以把只读的配置,实现成可读写的配置;但是整个项目封装性太强, 给你扩展和应用的空间不够开放; 对于要求不高的技术人员和项目,推荐使用Sentinel;但是如果有一定要求的,还是推荐使用Resilience4j。

台媒科技创新突破成两会热门议题据台湾工商时报3月6日报道,近年美国频频在科技领域对华施压。如何在科技领域实现自主突破与创新,成为今年两会及大陆政府要面临的大考。据报道,大陆全国两会召开前夕,工业和信息化部部长金亲子经济等点亮多元消费,城市副中心消费市场迎开门红北京城市副中心报记者赵鹏实习记者江嘉敏挖掘新增长点,让消费尽快暖起来热起来,仲春时节的消费新时尚,正助力副中心消费市场实现开门红。今年副中心将恢复和扩大消费摆在优先位置,正全方位开一加Ace2V评测不讲武德地进入2K档市场自从焕新定位,聚焦性能赛道以来,一加像一条鲶鱼一样不断搅动着整个智能手机行业,比如开售不久的一加Ace2,行业普及了16GB超大内寸等旗舰配置,2799元的起售价甚至让友商自觉降价市场摊贩剖析市场经济奥秘,戳穿新旧资本集团200年诡辩谎言大家好,我是市场一摊贩郑高亮,欢迎大家参与市场摊贩剖析市场经济戳穿新旧资本集团为了能猖狂贪婪货币放贷二次发币权益和发行美元纸币操纵世界各国政治经济,200年来精心设计制造维护商品涨国务院国资委产权局原局长邓志雄让复合资本市场为企业创新添动力创新是一个企业生存和发展的关键,是企业的核心竞争力所在。企业的技术创新离不开资金的投入,但对于非上市企业,尤其是中小企业来说,融资是一大难题。我国已经建立起由股票市场和产权市场共同伪年金真增寿正在成为保险行业的毒品欲罢不能,不愿清醒从去年的501号文,到今年发布的人身险负面清单2023版监管连续多次直接警告市场高收益理财险的两大问题1养老年金通过降低前期身故利益贴补增加后期生存利益,产品部分三桶油爆发!中国海油涨超9股价创新高,总市值接近9000亿中新经纬3月7日电7日早盘,三桶油全线爆发,中国海油放量冲击涨停,股价最高报18。92元创上市以来新高,总市值逼近9000亿元大关中国石化盘中涨近7中国石油盘中最高涨近6。来源Wi降价高层生变!东风集团2022年跑输大盘利润堪忧摘要乏力乏力乏力(欢迎关注杠杆游戏)撰文张银银编辑欣欣然这几天东风汽车集团特别火,因年龄原因,该司一把手竺延风退休。竺延风是中国汽车行业老兵,在一汽集团干了20来年,后转入政界,2闲聊金融行业我是愿意与您分享金融和经济信息的培风客喜欢我的文章请关注我持续为您提供相关观点和数据一直以来很多朋友都问我关于金融行业的从业选择问题,最近也有关于金融精英论的讨论,很多读者也是同行奉百禄3月7日国际黄金走势,避不开回调看涨趋势由于中国三大指数均连续两个月位于扩张区间,体现中国经济景气水平继续回升,从而带动一些人押注中国黄金实物需求增加,并促使金价上扬。这使得即便在上周美联储依旧鹰声不断且美国经济数据表现2023年3月7日钾肥行情钾肥氯化钾钾肥市场价格继续呈现走低的趋势,市场高低端均有小幅下行,且在心态相对恐慌的情况下,市场新单成交并不积极,下游工厂采购有限。目前进口62白钾的价格多在35503650元吨,
战云密布第二次世界大战欧战始末(81)第聂伯河右岸之战(7)格尼洛伊季基奇河,这条湍急的河流揭示出人性中被隐藏的另一面恐惧的悬崖怯懦的洞穴。在这里,接应科尔孙包围圈突围的德军第1装甲师夺取的桥梁和来自耶拿的第37装甲工兵营匆匆搭建的一座临时抗日英雄秦光回忆录伪军中也有好人1943年春天的一次战斗中,八路军马家河支队副教导员秦光身边的战友都牺牲了,他自己身负重伤,无法行动。日军环顾着安静下来的战场,便命令伪军部队打扫战场。所谓打扫,就是让伪军看看还有风平浪静?激烈搏斗中的吴起变法吴起(约公元前四四年前三八一年),卫国人,是战国初期著名的政治家和军事家,同时也是法家杰出的代表人物之一。吴起早年就学习兵法,深懂兵略。由卫国来到鲁国后,被鲁穆公任为大夫。时隔不久乌克兰的失败,在开战那天起就已注定!这场战争,俄罗斯是在打乌克兰吗?明白无误的事实显示,这是一场俄罗斯与北约的世纪决战!看看俄欧俄乌的历史经纬吧。二战结束没几年,昔日的同盟国就变脸了。日耳曼人(盎格鲁人也是日耳曼分支武汉会战的失败,却让中国改变了战场形势!一场战役的失败。竟然让失败的一方受利。从而改变了整个战争的战场形势!这场战役就是武汉会战。武汉会战是抗日战争全面爆发以后。继淞沪会战南京保卫战徐州会战。中日双方第四次大规模的战役。太子最危险的职业!中国古代皇权专制体系和太子本身的储君地位决定了这个位置很有吸引力,但也很危险!自秦始皇建立第一个大一统王朝以来,皇权越来越膨胀,整个天下都是皇帝一人的。皇权自然也是众矢之的,就算建大名鼎鼎的隋唐十八条好汉,哪几位最憋屈,哪几位最风光?隋唐十八条好汉都是谁啊?第一位西府赵王李元霸坐骑追风万里云(又名一字板肋雕,万里烟云罩)兵器擂鼓瓮金锤。第二位天宝大将宇文成都坐骑赤炭火龙驹兵器凤翅鎏金镗。第三位银锤太保裴元庆坐骑山海经里的昆仑到底在哪里?为何昆仑虚几千年一直没找到?此昆仑非彼昆仑昆仑与昆仑山,是神话研究者无法避开的话题,对研究西北神话者尤甚。上世纪七十年代,历史学家顾颉刚提出了中国神话的地理分布应由东西两部分组成的观点,他将古代神话分为两个重平民贫民只占比24!两汉的举孝廉,是历史的进步还是退步?两汉时,最主流的选官制度叫举孝廉,士人先被推举为孝廉,然后再走上官途。打开两汉是孝廉名册,有史籍碑文记载的128人中,汉末三国的名人有很多很多。我们简单列举几个孝廉曹操孙权袁术公孙安西北庭都护府的英灵想回家,归义军跟我来!!!公元850年,唐宣宗大中四年末,长安城大雪纷飞,一队金吾卫带领着一个面容憔悴的中年男子,走入了这个曾经睥睨天下的大唐帝国的权利中枢大明宫。宫内大殿之上上至宣宗下至群臣都殷切的等待着沈阳市,1986年照片版权归新华社及相关记者所有,著作权归今日头条作者集影阁所有。图片备注引用于新华社,具有一定历史价值,略有删减。媒体类平台需本人同意后方可转载!编辑不易,君若喜欢打个赏!肖野摄日