Hystrix
Hystrix:Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性和容错性。
- 包裹请求
- 跳闸机制
- 资源隔离
- 监控
- 回退机制
- 自我修复
执行回退逻辑并不代表断路器已经打开;请求失败、超时、被拒绝以及断路器打开等都会执行回退逻辑;
HystrixCommand vs HystrixObservableCommand
区别:1. 前者命令逻辑写在run();后者写在construct()
- 前者run()是由新创建的线程执行;后者的construct()是由调用程序线程执行;
- 前者一个实例只能向调用程序发送单条数据;后者一个实例可以顺序发送多条数据
方法: execute同步阻塞 queue异步非阻塞 observe事件注册前执行 toObservable事件注册后执行
Hystrix的Callback方法参数需要和原方法保持一致;
RabbitMQ: 由erlang开发的AMQP(Advanced Message Queue)的开源实现