Hystrix原理之命令模式的类图
【摘要】 看一下前面几篇文章介绍的类的相关类图:通过代码和类图,有印象的读者一定能想起,这是设计模式中的命令模式,HystrixInvokable是Hystrix Command的标记接口,继承了该接口的类都是可以被执行的Hystrix Command,其提供具体实现的接口为HystrixExecutable,用于同步执行和异步执行命令;HystrixObservable用于响应式执行命令(异步回调)...
看一下前面几篇文章介绍的类的相关类图:
通过代码和类图,有印象的读者一定能想起,这是设计模式中的命令模式,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
将是下面源码讲解中的重点。
接下来的文章让我们来一步步来查看这些类的相关实现。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)