hystix源码分析
2023-08-14 09:22:21 0 举报
java springCloud 组件hystix源码分析
作者其他创作
大纲/内容
getfallbace()
executeCommandWithSpecifiedIsolation
断路器HystixCircuitBreakerImpl
断路器隔离核心方法
线程池隔离
applyHystixStmntics()
是否开启断路器
hystixSecurityAutoConfiguration
FallBack成功
执行降级逻辑
否,执行正常逻辑
将之前准备好的观察者与被观察者Observable关联起来
terminateCommandCleanup
toBlocking()。toFuture()
线程池拒绝?
执行FallBack
GenertiCommand
是
准备观察者
methodsAnnotatedWithHystixCommand
是,执行降级
熔断器开启?
创建Command
queue()方法里最核心的一句代码
rxJava响应编程触发观察者响应方式执行
Observeable.defer
unsubscribeCommandCleanup()
获取结果
执行
否
HystrixCommand.execute()
spring-cloud-starter-netfix-hystix.jar包引入spring-cloud-neyfix-core.jar包,该包对应的 /META-INFO/spring.factories文件
toObservable()
导入
queue().get()
toObservable().toBlocking().toFuture()
fireOnCompleteHook
run()
@Bean初始化
Metrics
执行超时
executeCommandAndObserve
hystixCommandAspect
HystrixAutoConfiguration
执行正常逻辑
hystrixCircuitBreakerConfiguration
否抛出异常
applyHystixSemantics
执行失败
handleShoreCircuitViaFarmsIback
wrapWinthAllOnNextHooks
是 返回fallback
getUserExecutionObservable
线程池隔离(限流)threadPool.getScheduler
收藏
收藏
0 条评论
回复 删除
下一页