事件总线
1.事件总线
事件总线是一种通讯方法,利用发布/订阅设计模式(观察者设计模式??),实现对消息事件的同步/异步处理。解耦了各模块之间的依赖关系,方便快捷。
消息队列可以有多种选择,redis,kafka,rocketMQ,jdk blockQueue(??)
下面从发布/订阅设计模式(观察者设计模式??)开始,自己实践一下。
2.发布/订阅设计模式
发布/订阅设计模式,是软件设计中的一种常用的设计模式,与观察者模式相比,多了一个事件的调度中心,发布者与订阅者独立性更强。
3.观察者设计模式
如上图所示,观察者模式结构图。
4.事件总线
特征:
- 事件注册一次,多次可用,内存只有一份,新消息替换旧消息
- 事件优先级
- 订阅与发布实体,支持注册与反注册
- 支持反射机制
- 支持单线程与多线程设置
- 支持同步/异步设置
参考:
- 事件总线之EventBus
- 事件总线知多少(1)
- 解析事件总线的4种实现方式
- C#反射Assembly 详细说明
- 领域驱动设计学习笔记(一 事件总线)
- 事件总线EventBus3.0解读
- EventBus(github)
- Spring Cloud构建微服务架构(七)消息总线(续:Kafka)
- JAVA设计模式之观察者模式
- 设计模式(三):观察者模式与发布/订阅模式区别
-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------