事件总线

1.事件总线

事件总线是一种通讯方法,利用发布/订阅设计模式(观察者设计模式??),实现对消息事件的同步/异步处理。解耦了各模块之间的依赖关系,方便快捷。

消息队列可以有多种选择,redis,kafka,rocketMQ,jdk blockQueue(??)

下面从发布/订阅设计模式(观察者设计模式??)开始,自己实践一下。

2.发布/订阅设计模式

发布/订阅设计模式,是软件设计中的一种常用的设计模式,与观察者模式相比,多了一个事件的调度中心,发布者与订阅者独立性更强。

P/S

3.观察者设计模式

如上图所示,观察者模式结构图。

4.事件总线

特征:

  • 事件注册一次,多次可用,内存只有一份,新消息替换旧消息
  • 事件优先级
  • 订阅与发布实体,支持注册与反注册
  • 支持反射机制
  • 支持单线程与多线程设置
  • 支持同步/异步设置

参考:

  1. 事件总线之EventBus
  2. 事件总线知多少(1)
  3. 解析事件总线的4种实现方式
  4. C#反射Assembly 详细说明
  5. 领域驱动设计学习笔记(一 事件总线
  6. 事件总线EventBus3.0解读
  7. EventBus(github)
  8. Spring Cloud构建微服务架构(七)消息总线(续:Kafka)
  9. JAVA设计模式之观察者模式
  10. 设计模式(三):观察者模式与发布/订阅模式区别