当前位置:首页 > 科技  > 软件

用通俗的话讲讲熔断和服务降级

来源: 责编: 时间:2024-02-01 12:50:33 279观看
导读熔断和降级(也叫服务降级),一般是通过组件实现的,而不是spring框架内。比如spring boot框架做增删改查,外加引入spring cloud框架的hystrix或spring cloud alibaba框架的sentinel做熔断和降级,当然还可以做限流。熔断的本意

熔断和降级(也叫服务降级),一般是通过组件实现的,而不是spring框架内。比如spring boot框架做增删改查,外加引入spring cloud框架的hystrix或spring cloud alibaba框架的sentinel做熔断和降级,当然还可以做限流。IZQ28资讯网——每日最新资讯28at.com

熔断的本意是,当下对某个api接口发起的服务,错误率太高,或者耗时过长请求的比例过高,所以就认为该api接口当下负载过大,应当在之后的一段时间内,让该api停止对外服务。IZQ28资讯网——每日最新资讯28at.com

和熔断相关的有如下的参数。IZQ28资讯网——每日最新资讯28at.com

1 时间窗口,比如5秒。IZQ28资讯网——每日最新资讯28at.com

2 最小访问量,比如100个。IZQ28资讯网——每日最新资讯28at.com

3 错误率或者是慢请求的比例下限,比如是50%。IZQ28资讯网——每日最新资讯28at.com

4 熔断后的等待时间,比如是2秒。IZQ28资讯网——每日最新资讯28at.com

比如有个服务api是对外提供查询风控信息的,设置了上述熔断参数,遇到如下情况时会熔断。IZQ28资讯网——每日最新资讯28at.com

1 时间窗口5秒内,至少收到100个请求。这个是先决条件,比如5秒内只收到99个请求,哪怕这99个请求全都失败(或返回过慢),也不会熔断。IZQ28资讯网——每日最新资讯28at.com

2 如果5秒内收到100个请求后,再去看里面失效请求或慢查询请求的比例,如果高于50%,即该接口熔断2秒,这个过程中,发到该风控接口的请求全都立即返回失败。IZQ28资讯网——每日最新资讯28at.com

3 在2秒以后,(hystrix或sentinel等)支持熔断的组件再去采样,如果依然是5秒内请求个数大于等于100,并且失败或慢查询的比例高于50%,继续熔断2秒。否则恢复正常。IZQ28资讯网——每日最新资讯28at.com

为什么要引入熔断机制呢?因为请求api的线程,是需要耗费内存等资源的,比如请求风控api这个线程,持续了5秒,那么服务器在这5秒以内,就得耗费一定的资源维护这个线程。IZQ28资讯网——每日最新资讯28at.com

对服务器来说,能容纳的请求线程个数是有上限的,具体要看服务器的配置,假设是1000个。如果不引入熔断机制,而并发量又高,一秒会新增1000个访问风控API接口的线程,那么每个线程都得被维持5秒,而且由于风控接口可能出现故障,不少线程(或者说大多数线程)又拿不到期望结果。这种情况下,与其线程在5秒后因失败而被终止,那么还不如立即启动熔断机制,让一些线程在发起请求后立即得到错误的结果。IZQ28资讯网——每日最新资讯28at.com

否则的话,大量堆积的线程,就会耗尽服务器的内存等资源,甚至可能还耗尽数据库连接对象,最终导致部署在这台服务器上的所有服务都不可用。所以,熔断其实是种保护机制,尤其在高并发场景下,真得预先设置好熔断策略。IZQ28资讯网——每日最新资讯28at.com

服务降级的本意是,在高并发等场景,一些用户请求难免会得不到预期的结果,这种情况下,应当针对这些请求快速返回,同时提供一个用户尚能接受的结果。IZQ28资讯网——每日最新资讯28at.com

比如在某电商网站,有时候去搜索一个商品,期望的结果自然是返回搜索列表,但在某个时刻,正好服务器里并发量太高,或者因为种种原因,搜索商品的请求无法得到期望结果,这种情况下,较好的处理方法是,快速(而不是等待若干时间)返回一个“请稍后再试”的页面。IZQ28资讯网——每日最新资讯28at.com

如果不引入服务降级,那么用户真可能会直接看到一个只有资深程序员才能看懂的异常提示,比如哪号内存出问题,或者xx组件的xx行出问题。与其这样,还不如返回个能让用户看得懂的界面。IZQ28资讯网——每日最新资讯28at.com

在一些事件场景,熔断和服务降级一般是整合一起使用的,比如查询商品的接口方法出现熔断,需要等待2秒后再采样,在这2秒内,hystrix或sentinel等能实现服务降级功能的组件,会把请求抓发到“请稍后再试”的页面,从而实现服务降级。IZQ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-70441-0.html用通俗的话讲讲熔断和服务降级

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 基于Kubernetes的微服务架构,你学会了吗?

下一篇: Python编程必备,七个最佳代码编辑器和IDE推荐

标签:
  • 热门焦点
  • Redmi Buds 4开箱简评:才199还有降噪 可以无脑入

    在上个月举办的Redmi Note11T Pro系列新机发布会上,除了两款手机新品之外,Redmi还带来了两款TWS真无线蓝牙耳机产品,Redmi Buds 4和Redmi Buds 4 Pro,此前我们在Redmi Note11T
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 一年经验在二线城市面试后端的经验分享

    忠告这篇文章只适合2年内工作经验、甚至没有工作经验的朋友阅读。如果你是2年以上工作经验,请果断划走,对你没啥帮助~主人公这篇文章内容来自 「升职加薪」星球星友 的投稿,坐
  • 腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    作者:无锈钵来源:财经无忌7月16日晚,上海1862时尚艺术中心。伴随着幻象的精准命中,硕大的荧幕之上,比分被定格在了14:12,被寄予厚望的EDG战队以绝对的优势战胜了BLG战队,拿下了总决
  • 2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 三星获批量产iPhone 15全系屏幕:苹果史上最惊艳直屏

    按照惯例,苹果将继续在今年9月举办一年一度的秋季新品发布会,有传言称发布会将于9月12日举行,届时全新的iPhone 15系列将正式与大家见面,不出意外的话
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
  • 2299元起!iQOO Pad明晚首销:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其最大的卖点
Top