8-30 Hystrix章节总结


回顾,这个图是面试的时候必考的内容。
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了就返回如果失败了就抛出错误。

检查断路器的健康状态。


结束



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   高山-景行  阅读(232)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
历史上的今天:
2019-05-05 Flutter实战视频-移动电商-66.会员中心_编写ListTile通用方法
2019-05-05 Flutter实战视频-移动电商-65.会员中心_订单区域UI布局
点击右上角即可分享
微信分享提示