Hystrix

Author Avatar
YZ 4月 11, 2018

Hystrix:Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性和容错性。

  1. 包裹请求
  2. 跳闸机制
  3. 资源隔离
  4. 监控
  5. 回退机制
  6. 自我修复

执行回退逻辑并不代表断路器已经打开;请求失败、超时、被拒绝以及断路器打开等都会执行回退逻辑;

HystrixCommand vs HystrixObservableCommand

区别:1. 前者命令逻辑写在run();后者写在construct()

  1. 前者run()是由新创建的线程执行;后者的construct()是由调用程序线程执行;
  2. 前者一个实例只能向调用程序发送单条数据;后者一个实例可以顺序发送多条数据

方法: execute同步阻塞 queue异步非阻塞 observe事件注册前执行 toObservable事件注册后执行

Hystrix的Callback方法参数需要和原方法保持一致;

RabbitMQ: 由erlang开发的AMQP(Advanced Message Queue)的开源实现