Hystrix原理之命令模式的类图
看一下前面几篇文章介绍的类的相关类图:
通过代码和类图,有印象的读者一定能想起,这是设计模式中的命令模式,HystrixInvokable
是Hystrix Command的标记接口,继承了该接口的类都是可以被执行的Hystrix Command,其提供具体实现的接口为HystrixExecutable
,用于同步执行和异步执行命令;HystrixObservable
用于响应式执行命令(异步回调),这些是Command
以及ConcreteCommand
;CommandExecutor
用于调用HystrixInvokable
执行命令,相当于Invoker
;HystrixCommandFactory
用于生成命令,而HystrixCommandAspect
相当于命令调用的客户端情景类client
;CommandAction
中持有fallback的方法或者被@HystrixCommand
注解的方法,相当于Receiver
。
对比一下命令模式的通用类图:
现在一起来了解一下Hystrix中整个命令的结构体系,以及对其中的关键实现代码进行理解。
首先关注一下类图:
虽然类图很复杂,但是最终的实现类只有三个,分别是GenericCommand
,同步或者异步执行命令;BatchHystrixCommand
,请求合并操作;以及GenericObservableCommand
,异步回调执行命令。其中以上三个类之中的关键的实现都在AbstractCommand
这个抽象类,所以AbstractCommand
将是下面源码讲解中的重点。
接下来的文章让我们来一步步来查看这些类的相关实现。
- 点赞
- 收藏
- 关注作者
评论(0)