Hystrix原理和使用

Hystrix整个工作流如下:

构造一个 HystrixCommand或HystrixObservableCommand对象,用于封装请求,并在构造方法配置请求被执行需要的参数;
执行命令,Hystrix提供了4种执行命令的方法,后面详述;
判断是否使用缓存响应请求,若启用了缓存,且缓存可用,直接使用缓存响应请求。Hystrix支持请求缓存,但需要用户自定义启动;
判断熔断器是否打开,如果打开,跳到第8步;
判断线程池/队列/信号量是否已满,已满则跳到第8步;
执行HystrixObservableCommand.construct()或HystrixCommand.run(),如果执行失败或者超时,跳到第8步;否则,跳到第9步;
统计熔断器监控指标;
走Fallback备用逻辑
返回请求响应

从流程图上可知道,第5步线程池/队列/信号量已满时,还会执行第7步逻辑,更新熔断器统计信息,而第6步无论成功与否,都会更新熔断器统计信息。

你可能感兴趣的:(后端)