首页 > 其他 > 详细

8-30 Hystrix章节总结

时间:2020-05-06 02:08:01      阅读:79      评论:0      收藏:0      [点我收藏+]


回顾,这个图是面试的时候必考的内容。
Hystris和每个人是息息相关的,不管你是架构设计,不管是一线开发,不管你是学习的状态。Hystris都是要求大家必知必会的内容。
技术分享图片
无论怎么封装HystrisCommand还是怎么写FallBack,还是怎么设置线程池,还是怎么限制超时,这些东西都和你的业务息息相关。

首先本身有两种命令形式,分成四种执行情况返回,可以分为量大类,一个是execute和queue,他们表是单次处理。
observe和toObservable更多的是进行类似于订阅式的处理。
HystrixCommand和HystrixObservableCommand最大的区别就是HystrixCommand默认是线程隔离,HystrixObservableCommand默认是信号量隔离,同时它可以执行多个命令。
技术分享图片

检查缓存

下一步检查缓存,请求合并,请求缓存。这里有个重要的点就是一定要开启Hystrix上下文。他们都要在我们的Hystrix上下文中执行,
请求合并注意的另外一点,它要求两次请求足够的近才能合并,而这个参数我们是可以设置的。
技术分享图片

下一步

首先检查断路器有没有开启,如果开启就会始终执行我们的fallBack。如果没开启,就会去检查信号量,线程池数量有没有满,如果满了直接fallBack如果没有满进行下一步。
技术分享图片
进行下一步就是到6这里,真正执行我们的业务方法了。run或者construct
技术分享图片
执行业务的时候就会有成功,有失败。
如果失败就是走fallBack。这里默认是有个例外的,如果大家报的错误是HystrixBadRequestException它不会触发fallBack而是直接把异常给大家跑出来。
当我们真正在开始使用的时候,会自己封装一些异常,这个时候我们可以用ignoreException去忽略我们的异常,也就是做了个类似HystrixBadRequestException的请求,这样它就可以抛出来了这个异常。
技术分享图片

超时:业务虽然执行成功了,但是太慢也不行啊,超时也会触发fallBack
技术分享图片
fallBack本身就有个successful的概念,如果fallbacksuccess了就返回如果失败了就抛出错误。
技术分享图片
检查断路器的健康状态。
技术分享图片

结束

8-30 Hystrix章节总结

原文:https://www.cnblogs.com/wangjunwei/p/12833626.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!