事件驱动架构模式总结 - serverlessland


在构建事件驱动架构时,您会发现自己使用了许多不同的模式,而不仅仅是一种。当您深入研究 EDA 应用程序时,您会看到混合了点对点消息传递、发布/订阅、编排、编排,也许还有一些事件源等等……
我相信结合使用这些模式有助于构建一个有弹性、可用且可扩展的事件驱动架构。

流程管理

  • 管理工作流或过程的编排器
  • 我们必须执行业务逻辑,这封装了
  • 通常事件从流程管理器触发到其他消费者

事件溯源

  • 存储事件并使用此信息计算状态
  • 下游预测可以使用它来计算他们自己的世界观
  • 变化数据捕获流行听变化
  • 审计在这里很棒,因为您可以看到正在发生的一切。

事件流

  • 通常用于实时处理信息
  • 在某种形式的界面上看到的用户交互示例(例如点击)
  • 消息被放到流中,消费者选择他们想听的地方
  • 消费者使用偏移量从流中读取消息。
  • 这方面的例子是Amazon Kinesis

点对点消息传递

  • 将消息发送到通道供下游消费者处理
  • 多个消费者可以从队列中取消息进行并发处理
  • 高度可扩展的模式

更改数据捕获

  • 对针对您的数据进行的更改做出反应
  • 监听新的、删除的或更新的
  • 将消费者附加到流程信息的更改

发布/订阅

  • 向下游消费者发送通知
  • 扇出事件
  • 消费者获得自己的事件副本
  • 为解耦应用程序和扩展团队而创建

详细点击标题