在我们进行系统设计时,必须要考虑系统的高性能、高并发、高可用。本文分享的是关于高可用的三大利器:熔断、限流、降级,我们使用通俗、易懂的语句将三个概念讲清楚。

一、熔断

在服务的依赖调用中,被调用方出现故障时,出于自我保护的目的,调用方会主动停止调用,并根据业务需要进行相应处理。调用方这种主动停止调用的行为我们称之为熔断。

为什么要熔断

假定服务A依赖服务B,当服务B处于正常状态,整个调用是健康的,服务A可以得到服务B的正常响应。当服务B出现故障时,比如响应缓慢或者响应超时,如果服务A继续请求服务B,那么服务A的响应时间也会增加,进而导致服务A响应缓慢。如果服务A不进行熔断处理,服务B的故障会传导至服务A,最终导致服务A也不可用。

二、限流

限流是针对服务请求数量的一种自我保护机制,当请求数量超出服务的处理能力时,会自动丢弃新来的请求。

为什么要限流

任何一个系统的处理能力都是有极限的,假定服务A的处理能力为QPS=100,当QPS<100时服务A可以提供正常的服务。当QPS>100时,由于请求量增大,会出现争抢服务资源的情况(数据库连接、CPU、内存等),导致服务A处理缓慢;当QPS继续增大时,可能会造成服务A响应更加缓慢甚至奔溃。如果不进行限流控制,服务A始终会面临着被大流量冲击的风险。做好系统请求流量的评估,制定合理的限流策略,是我们进行系统高可用保护的第一步。

三、降级

降级是通过开关配置将某些不重要的业务功能屏蔽掉,以提高服务处理能力。在大促场景中经常会对某些服务进行降级处理,大促结束之后再进行复原。

为什么要降级

在不影响业务核心链路的情况下,屏蔽某些不重要的业务功能,可以节省系统的处理时间,提供系统的响应能力,在服务器资源固定的前提下处理更多的请求。

微服务中的熔断、限流、降级相关推荐

  1. 微服务中常用的限流算法(一)

    一个业务系统在指定配置的服务器上,可以承载的容量是一定的,当请求流量超过系统的容量后,系统就会变得不稳定,可用性下降,为了保证系统的可用性,需要将系统能够承载容量之外的流量进行丢弃,这样虽然会导致部分 ...

  2. 36、熔断-限流-降级

    目录 一.服务雪崩 二.熔断-限流-降级概述 三.熔断限流技术选型 四.sentinel限流 1 - 基于QPS限流 2 - Throttling策略 3 - sentinel预热/冷启动 五.sen ...

  3. SpringCloud微服务组件:Sentinel限流熔断

    点击关注公众号,实用技术文章及时了解 前言 什么是雪崩问题? 微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况. 解决雪崩问题的常见方式有四种: 超时处理:设定超时时间,请 ...

  4. 微服务架构 - Gateway网关限流

    作者:pu20065226 cnblogs.com/pu20065226/p/11426279.html 1.算法 在高并发的应用中,限流是一个绕不开的话题.限流可以保障我们的 API 服务对所有用户 ...

  5. 深度好文 — 微服务和API网关限流熔断实现关键逻辑思路

    来源:https://www.toutiao.com/i6853970319745483275/?group_id=6853970319745483275 今天准备谈下微服务架构和API网关中的限流熔 ...

  6. 「微服务系列 13」熔断限流隔离降级

    我们知道微服务分布式依赖关系错综复杂,比方说前端的请求转化为后端调用的服务请求,一个前端请求会转为成很多个后端调用的服务请求,那么这个时候后台的服务出现不稳定或者延迟,如果没有好的限流熔断措施,可能会 ...

  7. Spring Cloud Alibaba配置实例nacos+sentinel+dubbo实行服务注册、配置中心、熔断限流

    通过Spring Cloud Alibaba相关组件nacos+sentinel+dubbo实行服务注册.配置中心.熔断限流等功能 1.本机安装nacos和sentinel-dashboard服务端 ...

  8. 系统降级熔断限流和排队

    这类问题的主要原因在于系统压力太大.负载太高,导致无法快速处理业务请求,由此引发更多的后续问题.最常见的情况就是,数据库慢查询将数据库的服务器资源耗尽,导致读写超时,业务读写数据库时要么无法连接数据库 ...

  9. 用户在电商网站中购买成功了,那么 TA 在微服务中经历了什么?

    题目:用户在电商网站中购买成功了,那么它在微服务中经历了什么? 当我傻啊,用户在电商网站购买成功,还在微服务中,那肯定就是有一套微服务架构的电商系统. 设计一套电商系统还不简单 简单想象一下,既然是一 ...

最新文章

  1. 首发 | 13篇京东CVPR 2019论文!你值得一读~ 技术头条
  2. React学习笔记3:React脚手架
  3. CVE-2018-8120 Windows权限提升
  4. ML之FE:数据处理—特征工程的简介、使用方法、案例应用之详细攻略
  5. php 单例模式的日志类,php单例模式实现日志处理类库
  6. P2014 选课 (树形动规)
  7. 201771010126 王燕《面向对象程序设计(Java)》第十六周学习总结
  8. dom常用操作全后续会补充
  9. 5月8日全国软考办专家做客51CTO谈:软考政策、考前复习方法及考场技巧
  10. 学习路上遇到的Error2
  11. css修改span位置_简历完善,CSS布局与定位,笔记
  12. Linux 浅谈代码打印到终端的缓冲区(进度条程序)
  13. 数据库-Linux系统下的命令
  14. 新鲜出炉,Python 告诉你程序员最关注的技术竟然是……
  15. 连通性问题--Algorithms IN C读书笔记
  16. Shell定时删除日志
  17. 【MYSQL】【基础知识】【mysql联合主键如何 in查询】
  18. 笔记本 安装服务器系统,笔记本电脑安装Windows Server 2016之我见
  19. 电子邮票出售面临着两大困境
  20. 运维常用命令大全,从入门到精通就靠它了!

热门文章

  1. java对象强转 新增字段_对象属性转成表字段
  2. 能源之战---盗梦空间的真实含义
  3. 使用mybatis-plus自动生成代码
  4. sub2ind函数用法 MATLAB
  5. linux下geany配置python_Linux系统下搭建基于Geany+Python开发环境
  6. 【BZOJ3771】Triple
  7. PNG免扣透明素材,一个网站告别抠图了。
  8. 探索2023年海外网红营销合作方式:提升品牌曝光度的创新策略
  9. 学平面设计设计报班好不好?真的靠谱吗?
  10. 如何开启MATLAB并行,如何并行运行Matlab计算