博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring cloud之Hystrix流程
阅读量:4171 次
发布时间:2019-05-26

本文共 598 字,大约阅读时间需要 1 分钟。

Hystrix流程说明:

    1:每次调用创建一个新的HystrixCommand,把依赖调用封装在run()方法中.

  2:执行execute()/queue做同步或异步调用.
  4:判断熔断器(circuit-breaker)是否打开,如果打开跳到步骤8,进行降级策略,如果关闭进入步骤5.
  5:判断线程池/队列/信号量是否跑满,如果跑满进入降级步骤8,否则继续后续步骤6.
  6:调用HystrixCommand的run方法.运行依赖逻辑
  6a:依赖逻辑调用超时,进入步骤8.
  7:判断逻辑是否调用成功
  7a:返回成功调用结果
  7b:调用出错,进入步骤8.
  8:计算熔断器状态,所有的运行状态(成功, 失败, 拒绝,超时)上报给熔断器,用于统计从而判断熔断器状态.
  9:getFallback()降级逻辑.以下四种情况将触发getFallback调用:
    (1):run()方法抛出非HystrixBadRequestException异常。
    (2):run()方法调用超时
    (3):熔断器开启拦截调用
    (4):线程池/队列/信号量是否跑满
  9a:没有实现getFallback的Command将直接抛出异常
  9b:fallback降级逻辑调用成功直接返回
  9c:降级逻辑调用失败抛出异常
  10:返回执行成功结果

转载地址:http://ivbai.baihongyu.com/

你可能感兴趣的文章
原生Android系统的第一次开机google验证的解决
查看>>
S5P4418与S5P6618的Android boot.img的解压与压缩, Sparse ext4文件系统
查看>>
【EVB-335X-II试用体验】 u-boot与kernel的编译以及本地repo的建立
查看>>
【EVB-335X-II试用体验】 上手试用与资源使用
查看>>
【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用
查看>>
<<C++程序设计原理与实践>>粗读--chapter0 chapter1 chapter2
查看>>
<<C++程序设计原理与实践>>粗读--chapter3 chapter4 Chapter5
查看>>
<<C++程序设计原理与实践>>粗读 -- chapter8 Chapter9
查看>>
Linux Qt程序打包成一个可执行文件
查看>>
DragonBoard 410C中的Fastboot与调试串口注意事项
查看>>
跨系统的录音格式兼容性问题: iOS Android
查看>>
JVM 的垃圾回收器
查看>>
Mybatis的缓存
查看>>
@validated注解异常返回JSON值
查看>>
@JsonFormat注解使用
查看>>
Spring boot集成jxls实现导入功能
查看>>
Spring boot读取配置的方式(指定配置文件)
查看>>
Spring Boot切换不同环境配置
查看>>
Spring cloud之Ribbon搭建
查看>>
TreeMap 与 HashMap 的区别
查看>>