首页
3D照片墙
统计
留言
Search
1
1.OAuth 的简单理解
115 阅读
2
多个拦截器的执行顺序
105 阅读
3
基于Annotation方式的声明式事务
102 阅读
4
6.设计模式汇总
101 阅读
5
Unity 依赖注入
98 阅读
Java
JDBC
Spring
Spring MVC
SpringBoot
SpringCloud
MybatisPlus
Mybatis
Maven
SpringSecurity
JVM
java注解与反射
Java JUC并发编程
SSM
.NET
IdentityServer4
EF
.Net Core
AbpVNext + DDD
.NET MVC Api
前端
Jquery&JavaScript
uniapp
VUE
Echars
Vue底层原理
Python
Django
软考笔记
软件设计师
1.计算机组成与体系结构
10.面向对象技术
11.UML类图建模
12.面向对象程序设计
13.数据结构
14.算法基础
16.知识产权标准化
17.程序设计语言
2.操作系统
3.数据库
4.数据库设计
5.计算机网络
6.信息安全
7.系统开发基础
8.项目管理
9.数据流图
架构设计
CQRS架构
DDD架构
数据库技术
SQL锁
SqlServer
Oracle 主从备份
Oracle RAC集群
Mysql
云原生/容器技术
kubernetes
Docker
数据结构与算法
常用中间件
Redis
RabbitMQ 消息队列
ElasticSearch
其他
PHP
OAuth 2.0
WebSocket
ArkTs Harmony 开发
运维
Search
标签搜索
排序算法
vue
算法
遍历
docker
线性
数组
dom
synchronized
数据库
xml语言
log4j
bigint
静态函数
静态方法
哈夫曼树
const
冒泡排序
商标设计
命令模式
Bi8bo
累计撰写
304
篇文章
累计收到
6
条评论
首页
栏目
Java
JDBC
Spring
Spring MVC
SpringBoot
SpringCloud
MybatisPlus
Mybatis
Maven
SpringSecurity
JVM
java注解与反射
Java JUC并发编程
SSM
.NET
IdentityServer4
EF
.Net Core
AbpVNext + DDD
.NET MVC Api
前端
Jquery&JavaScript
uniapp
VUE
Echars
Vue底层原理
Python
Django
软考笔记
软件设计师
1.计算机组成与体系结构
10.面向对象技术
11.UML类图建模
12.面向对象程序设计
13.数据结构
14.算法基础
16.知识产权标准化
17.程序设计语言
2.操作系统
3.数据库
4.数据库设计
5.计算机网络
6.信息安全
7.系统开发基础
8.项目管理
9.数据流图
架构设计
CQRS架构
DDD架构
数据库技术
SQL锁
SqlServer
Oracle 主从备份
Oracle RAC集群
Mysql
云原生/容器技术
kubernetes
Docker
数据结构与算法
常用中间件
Redis
RabbitMQ 消息队列
ElasticSearch
其他
PHP
OAuth 2.0
WebSocket
ArkTs Harmony 开发
运维
页面
3D照片墙
统计
留言
搜索到
1
篇与
的结果
2024-07-26
Hystrix-服务降级-服务熔断-服务限流
服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和C又调用其他的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统的崩溃,这就是所谓的“雪崩效应”。 对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟达到饱和。甚至更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源的紧张,导致整个系统发生更多的级联故障。这些否表示需要对故障和延迟进行隔离管理,以便使单个依赖的失败,不能取消整个应用的系统。 服务降级 例如服务器忙,请稍后再试,不让客户端等待,直接返回一个友好提示,fallback。 哪些情况下会出现服务降级? 程序运行异常 超时 服务熔断触发服务降级 线程池/信号量打满也会导致服务降级 当我们的服务器压力剧增,为了保证核心功能的可用性,选择降低一些功能的可用性,或者直接关闭其他不必要的功能。 一般而言会独立建立降级系统,可以灵活的配置服务器的降级功能。当然也有用代码自动降级,例如接口超时降级,失败多次重试降级。 服务熔断 熔断一般是指依赖的外部接口出现了故障,需要断绝和外部接口的关系。 例如A服务调用B服务,B服务调用C服务,C因为某种原因突然变得不可用或者响应很慢,上游服务为了保证自己整体服务的可用性,不再继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用。 熔断机制:熔断机制是应对服务雪崩效应的一种微服务链路保护机制。当删除链路的某个微服务出错不可用时或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的相应信息。 当检测到该节点微服务调用恢复正常时,又会自动恢复调用链路。(这就是他的nb之处) 在SpringCloud框架里,熔断机制通过Hystrix实现。Hystrix会监控微服务之间调用的关系,当失败的次数达到设置的阈值,默认是5秒内20次失败,就会开启熔断机制。熔断机制的注解还是@HystrixCommand。 服务限流 例如在高并发的情况下,秒杀场景,严禁一窝蜂请求全部过来,需要排队。 一般限制的指标有:请求总量或某段时间内请求总量。 超时服务器变慢如何解决? 超时不再等待。 宕机或者程序运行出错:有默认的处理方式 服务提供者超时了,调用者不能一直卡死等待,必须有服务降级; 服务提供方宕机了,调用者不能一直卡死,也必须有服务降级。 对方服务帧长,调用者这时有故障,可以设置自己的等待时间小于服务提供者。
2024年07月26日
10 阅读
0 评论
51 点赞