高可用服务架构设计(17) - 基于Hystrix的高可用分布式系统架构设计的总结

已经学到的东西


hystrix的核心知识


1、hystrix内部工作原理:8大执行步骤和流程

2、资源隔离:你如果有很多个依赖服务,高可用性,先做资源隔离,任何一个依赖服务的故障不会导致你的服务的资源耗尽,不会崩溃

3、请求缓存:对于一个request context内的多个相同command,使用request cache,提升性能

4、熔断:基于短路器,采集各种异常事件,报错,超时,reject,短路,熔断,一定时间范围内就不允许访问了,直接降级,自动恢复的机制

5、降级:报错,超时,reject,熔断,降级,服务提供容错的机制

6、限流:在你的服务里面,通过线程池,或者信号量,限制对某个后端的服务或资源的访问量,避免从你的服务这里过去太多的流量,打死某个资源

7、超时:避免某个依赖服务性能过差,导致大量的线程hang住去调用那个服务,会导致你的服务本身性能也比较差


学会了这些东西以后,我们特意设置了大电商背景,商品详情页系统,缓存服务的业务场景,尽量的去结合一些仿真的业务,去学习hystrix的各项技术


这个东西做起来没那么容易,尽量做了,学习效果更好一些,兴趣也会更好一些


已经可以快速利用hystrix给自己开发的服务增加各种高可用的保障措施了,避免你的系统因为各种各样的异常情况导致崩溃,不可用


hystrix的高阶知识


1、request collapser,请求合并技术

2、fail-fast和fail-slient,高阶容错模式

3、static fallback和stubbed fallback,高阶降级模式

4、嵌套command实现的发送网络请求的降级模式

5、基于facade command的多级降级模式

6、request cache的手动清理

7、生产环境中的线程池大小以及timeout配置优化经验

8、线程池的自动化动态扩容与缩容技术

9、hystrix的metric高阶配置

10、基于hystrix dashboard的可视化分布式系统监控

11、生产环境中的hystrix工程运维经验


上一篇:【观点】为什么说区块链的未来或许与数字货币无关


下一篇:为什么你应该学习搭建区块链应用