Hystrix

原理

1、流程图


官方原版流程图
1、方法标注 @HystrixCommand注解
2、方法执行进入执行队列、方法执行、【图中标注 .toObservable()状态】
3、缓存是否可见【有 返回缓存数据;没有进入下一步判断】
4、断路器是否打开【未打开 直接判断信号量线程池是否拒绝 ;打开且触发断路进去fallback方法】
5、信号量线程池是否拒绝【未拒绝 创建线程池隔离舱执行业务逻辑 ;拒绝 执行fallback方法】
6、业务逻辑执行是否成功【成功 判断是否超时;未成功 执行fallback方法】
7、判断是否超时【超时 不返回 未超时返回数据】
8、fallback执行结果【成功 返回数据 ;失败 返回失败或者自行实现业务方法】

其中方法执行结果要返回断路器健康状态给断路器【也就是图中绿色4】

具体信息可见官方详细:https://github.com/Netflix/Hystrix/wiki/How-it-Works

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、认识Hystrix Hystrix是Netflix开源的一款容错框架,包含常用的容错方法:线程池隔离、信号量隔...
    新栋BOOK阅读 4,086评论 0 19
  • 一、认识Hystrix Hystrix是Netflix开源的一款容错框架,包含常用的容错方法:线程池隔离、信号量隔...
    新栋BOOK阅读 26,538评论 1 37
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 一. 背景 我们的业务当中会大量依赖于第三方的服务,而这些第三方的服务都是基于Http请求的。我们的调用模...
    千里浪打浪阅读 21,066评论 3 12
  • 上篇文章我主要讲的是官方文档对Hystrix的说明,阐述了在微服中Hystrix担任的角色,以及它是如何达到这样的...
    瘦竹竿阅读 1,892评论 0 6