# 099. 基于 hystrix 的高可用分布式系统架构项目实战课程的总结
前面 hystrix 已经学到的核心知识如下:
- hystrix 内部工作原理:8 大执行步骤和流程
- 资源隔离:你如果有很多个依赖服务,那么想要高可用性,就先做资源隔离,任何一个依赖服务的故障不会导致你的服务的资源耗尽,不会崩溃
- 请求缓存:对于一个 request context 内的多个相同 command,使用 request cache,提升性能
- 熔断:基于短路器,采集各种异常事件、报错、超时、reject、短路,熔断后一定时间范围内就不允许访问了,直接降级,并提供自动恢复的机制
- 降级:报错、超时、reject、熔断后,就降级,服务提供容错的机制
- 限流:在你的服务里面,通过线程池或者信号量,限制对某个后端的服务或资源的访问量,避免从你的服务这里过去太多的流量,打死某个资源
- 超时:避免某个依赖服务性能过差,导致大量的线程阻塞去调用那个服务,会导致你的服务本身性能也比较差
以上知识点已经可以快速利用 hystrix 给自己开发的服务增加各种高可用的保障措施了, 避免你的系统因为各种各样的异常情况导致崩溃,不可用
后续要讲解的 hystrix 的高阶知识
- request collapser,请求合并技术
- fail-fast 和 fail-slient,高阶容错模式
- static fallback 和 stubbed fallback,高阶降级模式
- 嵌套 command 实现的发送网络请求的降级模式
- 基于 facade command 的多级降级模式
- request cache 的手动清理
- 生产环境中的线程池大小以及 timeout 配置优化经验
- 线程池的自动化动态扩容与缩容技术
- hystrix 的 metric 高阶配置
- 基于 hystrix dashboard 的可视化分布式系统监控
- 生产环境中的 hystrix 工程运维经验