当前位置: 首页 > 知识库问答 >
问题:

saga、流程管理器和基于文档的方法之间的区别是什么?

赫连心思
2023-03-14

我所理解的是,这三个概念都与长时间运行的事务有关。

    null

谁能解释一下它们之间的区别,以及--我特别感兴趣的是--这些概念中的哪一个对什么有好处,以及当你需要什么的时候。它们相互排斥吗?你能只带其中一个一路走下去吗?是否有需要不止一个的场景?……?

共有1个答案

祁星阑
2023-03-14

与流程经理相比,传奇是什么?

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

相比之下,传奇(根据最初的定义)是一种旨在帮助管理失败的模式。它涉及跨系统的多个工作流,其中每个工作流都允许在其他地方出现故障的情况下在以后的事务中采取某种形式的补偿操作。

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

  • 传奇和工作流-相同的东西有没有不同的名称(Arnon Rotem-gal-oz)
  • 澄清传奇模式(凯利·萨默斯)
  • 萨加斯(克莱门斯·瓦斯特斯)
 类似资料:
  • 刚刚下载了3.1并在文档中找到... 通过将最外层的更改为,将任何固定宽度的网格布局转换为全宽度布局。 查看,似乎与相同。两者都有相同的CSS,并且的每个实例都与配对,并且所有列类都以百分比指定。 当我玩弄这些例子时,我看不出有什么不同,因为一切似乎都是流动的。 由于我对Bootstrap还不熟悉,我想我错过了一些东西。谁能花点时间给我点化一下吗?

  • 问题内容: 两种方法是相同的还是要注意的主要差异/陷阱? 问题答案: 主要区别是基于类的可变单例有效,而基于结构的可变“单例”无效。除非您想使单身人士不可变(这是很少见的),否则您应该坚持基于类的方式。 这是一个可变的基于结构的“单身”如何工作的例证。考虑将可变成员添加到两个单例中,如下所示: 我做了一个,但是我可以将其公开为只读属性和一个变异方法。重要的是这两种类型现在都是可变的。 如果我这样做

  • 问题内容: 嗨,我在我的经验中都使用了这两种方法,而我当时在想方法和类型都是 POST 和 GET 方法。 但是似乎它们并不相似。 如果我使用它正在工作,我是一个表格数据。 如果我写它不起作用,谁能解释他们之间的区别是什么..? 帮助是适当的。 问题答案: 类型(默认:’GET’)类型:字符串方法的别名。 如果您使用的是1.9.0之前的jQuery版本, 则应使用 type。 http://api

  • 我的工作应该使用并行技术,我是python的新用户。因此,我想知道您是否可以分享一些关于python和模块的资料。这两者有什么区别?

  • 问题内容: 由于当前正在执行的线程在遇到调用时会立即将其移入休眠状态。而线程进入 可运行 状态/ 就绪 状态。 问题答案: 使线程在给定的时间内肯定停止执行;如果没有其他线程或进程需要运行,则CPU将处于空闲状态(并可能进入节能模式)。 基本上意味着线程没有做任何特别重要的事情,如果需要运行任何其他线程或进程,则应该这样做。否则,当前线程将继续运行。

  • 问题内容: 我知道有三种不同的,流行的非SQL数据库类型。 键/值:Redis,Tokyo Cabinet,Memcached ColumnFamily:Cassandra,HBase 文件:MongoDB,CouchDB 我已经读了很长的博客,但对它的了解却很少。 我知道关系数据库,并且在MongoDB / CouchDB等基于文档的数据库中徘徊。 谁能告诉我这些和清单上的两个前者之间的主要区别