架构描述

事件(event)是状态发生变化时,软件发出的通知。

事件驱动架构(event-driven architecture)就是通过事件进行通信的软件架构。它分成四个部分。
软件架构入门及分类——事件驱动架构

  1. 事件队列(event queue):接收事件的入口
  2. 分发器(event mediator):将不同的事件分发到不同的业务逻辑单元
  3. 事件通道(event channel):分发器与处理器之间的联系渠道
  4. 事件处理器(event processor):实现业务逻辑,处理完成后会发出事件,触发下一步操作

优点

  • 分布式的异步架构,事件处理器之间高度解耦,软件的扩展性好
  • 适用性广,各种类型的项目都可以用
  • 性能较好,因为事件的异步本质,软件不易产生堵塞
  • 事件处理器可以独立地加载和卸载,容易部署

缺点

  • 涉及异步编程(要考虑远程通信、失去响应等情况),开发相对复杂
  • 难以支持原子性操作,因为事件通过会涉及多个处理器,很难回滚
  • 分布式和异步特性导致这个架构较难测试

相关文章:

  • 2021-11-30
  • 2021-09-22
  • 2021-04-20
  • 2021-05-16
  • 2021-11-24
  • 2021-09-09
  • 2021-06-12
  • 2021-10-01
猜你喜欢
  • 2022-01-07
  • 2021-10-29
  • 2022-12-23
  • 2021-08-15
  • 2021-08-02
  • 2021-11-19
相关资源
相似解决方案