Hystrix工作原理
Hystrix官方的工作流程图 工作流程(对应上图标记的序号) 创建HystrixCommand或者HystrixObservableCommand对象 HystrixCommand:用在依赖服务返回的结果是单个的时候 HystrixObservableCommand:用在依赖服务返回的结果是多个的时候 这里创建HystrixCommand或者HystrixObservableCommand对象的目的,是需要用这两个对象来代表对依赖服务的操作请求,当然请求所需的参数也会被传递。 可以理解成我们通过这两个对象,就做到了把对依赖服务的操作请求委托给了Hystrix,Hystrix 就可以利用自己的功能来对请求做一系列的操作。 命令执行 可以看到 步骤2 里有 4个执行命令 : 其中 HystrixCommand 实现了以下两个执行命令: execute ():同步执行,从依赖的服务返回一个单一的结果对象,或者在错误时抛出异常,代码如下: public R execute ( ) { try { return this . queue ( ) . get ( ) ; } catch ( Exception var2 ) { throw Exceptions . sneakyThrow ( this . decomposeException ( var2 ) ) ; } } queue (