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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月登场的新机有努比亚Z50S Pro和红魔8S Pro,除了三星之外目前唯二的两款搭载超频版骁龙8Gen2处理器的产品,而且努比亚和红魔也一贯有着不错的性价比,所以在本次的性价比榜单
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 服务存储设计模式:Cache-Aside模式

    Cache-Aside模式一种常用的缓存方式,通常是把数据从主存储加载到KV缓存中,加速后续的访问。在存在重复度的场景,Cache-Aside可以提升服务性能,降低底层存储的压力,缺点是缓存和底
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 一条抖音4亿人围观 ! 这家MCN比无忧传媒还野

    作者:Hiu 来源:互联网品牌官01 擦边少女空降热搜,幕后推手曝光被网友誉为“纯欲天花板”的女网红井川里予,近期因为一组哥特风照片登上热搜,引发了一场互联网世界关于
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
Top