gpt4 book ai didi

apache-kafka - 事件溯源是基于编排的 SAGA 模式的增强模式吗?

转载 作者:行者123 更新时间:2023-12-04 12:33:16 39 4
gpt4 key购买 nike

这些天我正在研究微服务服务间通信模式。所以在我的研究中,我发现有两种模式,称为 SAGA 和事件溯源。但是我在互联网上找不到资源来了解这两种模式之间的区别。我的意思是我知道事件溯源将在事件存储的帮助下捕获事件的历史记录。所以根据我的理解,我觉得事件溯源就像是基于编舞的 SAGA 模式的扩展版本。所以我需要澄清我的论点是否可以接受。我将附上我在下面的互联网上找到的两种模式的示例图。请在您的任何解释中使用这些图表。
Choreography based SAGA Implementation
Event Sourcing
References

最佳答案

两者是解决不同问题的兼容模式,Sagas 处理工作流流程,而事件溯源处理状态的存储方式。 Sagas 提供了一种处理多步骤流程的机制,并在步骤失败时回滚(如工作流)。其中,事件溯源是通过记录实体过去的所有变化来对实体状态进行编码的过程。
传奇
假设我们正在预订假期,我们需要预订航类、酒店和租车。这些进程中的每一个都由不同的微服务处理。
我们可以创建一个名为 BookingSaga 的微服务,它负责跟踪每个预订的状态。当我们进行预订时,BookingSaga 服务会

  • 预订酒店
  • 订机票
  • 订车

  • 这些可以按任何顺序回复,但如果任何一个失败,BookingSaga 将开始回滚并取消任何已经预订的。
    https://microservices.io/patterns/data/saga.html
    事件溯源
    事件溯源通过记录发生在某个实体上的更改来跟踪某个实体的状态。
  • 对象 A 名称更改为“dave”
  • 对象 A 年龄更改为 3
  • 对象 A 名称更改为“sue”

  • 所以我们可以看到,在所有事件结束时,对象 A 的名称为“sue”,年龄为 3。 https://microservices.io/patterns/data/event-sourcing.html

    关于apache-kafka - 事件溯源是基于编排的 SAGA 模式的增强模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66918637/

    39 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com