gpt4 book ai didi

cqrs - 传奇、流程管理器和基于文档的方法之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 06:17:35 27 4
gpt4 key购买 nike

据我了解,这三个概念都与长时间运行的事务相关。

据我了解,流程管理器是一个有限状态机,它只是对事件使用react并发出命令。它不包含任何业务逻辑,它只是进行路由。它的目标是让您进入最终状态,您知道您的交易已成功或失败。

到目前为止,一切顺利。

但现在我的问题开始理解:

  • 与流程管理器相比,传奇是什么?
  • 还有基于文档的方法,如 CQRS sagas - did I understand them right? 中提到的。 ……据我了解,文档只是一张“纸”,您可以在其中做笔记并分发。这如何适应命令和事件的概念?

任何人都可以解释一下这些差异,以及 - 我特别感兴趣的 - 这些概念中的哪些有什么用处,以及何时你确实需要什么。它们是相互排斥的吗?你能只靠其中一个人一路走下去吗?是否存在需要多个的场景? ...?

最佳答案

What is a saga in contrast to a process manager?

这些模式的意图是不同的。流程管理器是一种工作流模式,正如您所说,它可以构建在状态机之上。流程管理器将保留消息之间的状态,并将包含逻辑以确定应采取哪些操作来响应消息(例如,转换状态或发送另一条消息)。某些框架错误地将这些称为传奇。

相比之下,传奇(根据原始定义)是一种旨在帮助管理故障的模式。它涉及跨系统的多个工作流程,其中每个工作流程都允许在其他地方发生故障时在稍后的事务中采取某种形式的补偿操作。

这种补偿是传奇的定义特征。请注意,传奇本身并不知道补偿操作可能是什么。 Sagas 通常使用路由滑动模式来实现。

Are they mutually exclusive? Can you go along all the way with only one of them?

它们并不相互排斥 - 例如,参与传奇的系统可能会使用流程管理器来实际处理其处理部分。

其他资源

其中一些帖子可能有助于提供更多详细信息并提供示例:

关于cqrs - 传奇、流程管理器和基于文档的方法之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528015/

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