栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Hystrix熔断器-源码分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hystrix熔断器-源码分析

Hystrix熔断器的使用,在启动类上添加注解@EnableCircuitBreaker,然后在具体的请求上添加@HystrixCommand,则对该接口的调用会使用熔断的规则。我们以@EnableCircuitBreaker注解为入口,分析熔断器的源码。

注解中引入了一个类EnableCircuitBreakerimportSelector,进入该类查看具体情况。

该类继承了SpringFactoryimportSelector,这个是用来加载spring.factory里面的配置类的。进入SpringFactoryimportSelector查看都加载了哪些类。

由此可只,会加载spring.factory里面的以EnableCircuitBreaker全限定类名为key的所有Bean。接下来就看看spring.factory里面都装配了哪些。

装配了HystrixCircuitBreakerConfiguration,进入类中,查看类中具体都做了哪些事情。

这里面装配一个切面,初步猜测hytrix熔断器是通过切面给方法进行增强来实现的熔断和服务降级的操作。 

在此可看到,切面是对HystrixCommand和HystrixCollapser为切入点,进行了环绕增强。里面的内容主要包括,根据方法的配置创建了HystrixInvokable,该接口在该处的主要实现为GenericCommand,实现类中封装了对调用方法的执行,以及对降级回退方法的执行。最终通过CommandExecutor#execute执行方法获取结果。

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/764332.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号