微服务中的熔断、限流、降级
在我们进行系统设计时,必须要考虑系统的高性能、高并发、高可用。本文分享的是关于高可用的三大利器:熔断、限流、降级,我们使用通俗、易懂的语句将三个概念讲清楚。
一、熔断
在服务的依赖调用中,被调用方出现故障时,出于自我保护的目的,调用方会主动停止调用,并根据业务需要进行相应处理。调用方这种主动停止调用的行为我们称之为熔断。
为什么要熔断
假定服务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始终会面临着被大流量冲击的风险。做好系统请求流量的评估,制定合理的限流策略,是我们进行系统高可用保护的第一步。
三、降级
降级是通过开关配置将某些不重要的业务功能屏蔽掉,以提高服务处理能力。在大促场景中经常会对某些服务进行降级处理,大促结束之后再进行复原。
为什么要降级
在不影响业务核心链路的情况下,屏蔽某些不重要的业务功能,可以节省系统的处理时间,提供系统的响应能力,在服务器资源固定的前提下处理更多的请求。
微服务中的熔断、限流、降级相关推荐
- 微服务中常用的限流算法(一)
一个业务系统在指定配置的服务器上,可以承载的容量是一定的,当请求流量超过系统的容量后,系统就会变得不稳定,可用性下降,为了保证系统的可用性,需要将系统能够承载容量之外的流量进行丢弃,这样虽然会导致部分 ...
- 36、熔断-限流-降级
目录 一.服务雪崩 二.熔断-限流-降级概述 三.熔断限流技术选型 四.sentinel限流 1 - 基于QPS限流 2 - Throttling策略 3 - sentinel预热/冷启动 五.sen ...
- SpringCloud微服务组件:Sentinel限流熔断
点击关注公众号,实用技术文章及时了解 前言 什么是雪崩问题? 微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况. 解决雪崩问题的常见方式有四种: 超时处理:设定超时时间,请 ...
- 微服务架构 - Gateway网关限流
作者:pu20065226 cnblogs.com/pu20065226/p/11426279.html 1.算法 在高并发的应用中,限流是一个绕不开的话题.限流可以保障我们的 API 服务对所有用户 ...
- 深度好文 — 微服务和API网关限流熔断实现关键逻辑思路
来源:https://www.toutiao.com/i6853970319745483275/?group_id=6853970319745483275 今天准备谈下微服务架构和API网关中的限流熔 ...
- 「微服务系列 13」熔断限流隔离降级
我们知道微服务分布式依赖关系错综复杂,比方说前端的请求转化为后端调用的服务请求,一个前端请求会转为成很多个后端调用的服务请求,那么这个时候后台的服务出现不稳定或者延迟,如果没有好的限流熔断措施,可能会 ...
- Spring Cloud Alibaba配置实例nacos+sentinel+dubbo实行服务注册、配置中心、熔断限流
通过Spring Cloud Alibaba相关组件nacos+sentinel+dubbo实行服务注册.配置中心.熔断限流等功能 1.本机安装nacos和sentinel-dashboard服务端 ...
- 系统降级熔断限流和排队
这类问题的主要原因在于系统压力太大.负载太高,导致无法快速处理业务请求,由此引发更多的后续问题.最常见的情况就是,数据库慢查询将数据库的服务器资源耗尽,导致读写超时,业务读写数据库时要么无法连接数据库 ...
- 用户在电商网站中购买成功了,那么 TA 在微服务中经历了什么?
题目:用户在电商网站中购买成功了,那么它在微服务中经历了什么? 当我傻啊,用户在电商网站购买成功,还在微服务中,那肯定就是有一套微服务架构的电商系统. 设计一套电商系统还不简单 简单想象一下,既然是一 ...
最新文章
- 首发 | 13篇京东CVPR 2019论文!你值得一读~ 技术头条
- React学习笔记3:React脚手架
- CVE-2018-8120 Windows权限提升
- ML之FE:数据处理—特征工程的简介、使用方法、案例应用之详细攻略
- php 单例模式的日志类,php单例模式实现日志处理类库
- P2014 选课 (树形动规)
- 201771010126 王燕《面向对象程序设计(Java)》第十六周学习总结
- dom常用操作全后续会补充
- 5月8日全国软考办专家做客51CTO谈:软考政策、考前复习方法及考场技巧
- 学习路上遇到的Error2
- css修改span位置_简历完善,CSS布局与定位,笔记
- Linux 浅谈代码打印到终端的缓冲区(进度条程序)
- 数据库-Linux系统下的命令
- 新鲜出炉,Python 告诉你程序员最关注的技术竟然是……
- 连通性问题--Algorithms IN C读书笔记
- Shell定时删除日志
- 【MYSQL】【基础知识】【mysql联合主键如何 in查询】
- 笔记本 安装服务器系统,笔记本电脑安装Windows Server 2016之我见
- 电子邮票出售面临着两大困境
- 运维常用命令大全,从入门到精通就靠它了!