You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
## SpringCloud Netflix Hystrix
|
|
|
|
|
|
### SpringCloud Netflix Hystrix 概览
|
|
- Hystrix 是什么、设计目标是什么
|
|
- Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互
|
|
- Hystrix 通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现服务之间的容错
|
|
- Hystrix 有四大设计目标
|
|
- 对客户端访问的延迟和故障进行保护和控制
|
|
- 在复杂的分布式系统中阻止级联故障
|
|
- 快速失败,快速恢复
|
|
- 兜底回退,尽可能优雅的降级
|
|
---
|
|
- Hystrix 解决了什么问题
|
|
- 复杂分布式系统中服务之间存在许多依赖项,依赖项可能会存在故障,如果不做故障隔离整个服务可能会被拖垮
|
|
---
|
|
- Hystrix 是如何实现它的目标的
|
|
- 对依赖项(服务)进行包装代理,不直接与依赖项交互
|
|
- 调用超时时间允许自行设定,超时之后立刻熔断报错
|
|
- 每一个依赖项都在自己的空间内(线程池或信号量隔离),依赖项之间不存在干扰
|
|
- 请求依赖项失败后,可以选择出错或者是兜底回退
|
|
|
|
### 使用注解方式实现服务的容错、降级
|
|
|
|
|
|
### 使用编程方式实现服务的容错、降级
|
|
- [NacosClientHystrixCommand.java] - [NacosClientHystrixObservableCommand.java]
|
|
|
|
### 编程方式开启 Hystrix 请求缓存
|
|
|
|
|
|
### 注解方式开启 Hystrix 请求缓存
|
|
|
|
|
|
### 编程方式应用 Hystrix 请求合并
|
|
-
|
|
|
|
### 注解方式应用 Hystrix 请求合并
|
|
- 使用注解的方式比较多
|
|
### OpenFeign 集成 Hystrix 开启后备模式
|
|
|
|
|
|
### 使用 Hystrix 监控面板监测客户端容错
|
|
|
|
### SpringCloud Netflix Hystrix 容错组件总结 |