关于事件驱动架构的五个常见误解

主要观点:

  • 对事件驱动架构(EDA)的一些常见误解进行澄清,包括 EDA 与事件溯源、Kafka 的关系,以及 EDA 的关键要点等。
    关键信息:
  • EDA 不是事件溯源,事件溯源是服务内的数据持久化方式,而 EDA 是服务间的通信方式,两者可单独存在。
  • Kafka 是流行的基于日志的消息代理,用于 EDA 很好,但不是 EDA 的必备工具,不用 Kafka 也可构建 EDA 架构。
  • 不能仅关注单个消息的语义来判断是否为事件,还要看整体流程,像伪装成事件的命令-响应流就不是真正的 EDA。
  • 可以在后端构建 EDA 架构,即使前端是 REST API,内部服务间通信可采用 EDA 以提高可扩展性和弹性。
  • EDA 不比基于 REST 或 RPC 调用的架构更复杂,只是初学时可能较难理解,但其角色和责任更清晰。
    重要细节:
  • 事件溯源通过存储状态变化事件来恢复状态,而 EDA 是服务间发布和订阅事件。
  • Kafka 发送的“记录”只是字节数组,可用于各种消息,其主页标签易误导。
  • 常见系统中可能只有内部服务间通信是 EDA,外部与用户界面或第三方系统通信用其他模式。
  • 事件驱动架构中,发出事件后就不再关心后续处理,由订阅者负责,责任更清晰。
阅读 7
0 条评论