是协调服务不适合实行工作流程?(Are orchestration services unfit t

2019-11-01 02:17发布

我与nservicebus,我使用的版本工作流的执行过程中有问题,面临2.0.1329.2 ,我试图实现工作流程非常简单:

我有需要计算一个物品清单,工作流开始与出版的第一单。 在此之后,用户可以做其他的发布中增加或删除原始列表的一些文章。 每个列表都有一个代码标识。

我已经使用了列表的代码标识的业务流程服务来实现它。 在佐贺数据也有其名单由文章的所有引用。

问题是:当用户发表的文章列表,而该列表的另一个发布过程中也有不处理状态的任何锁,这样有没有并发控制,但稍后将完成将有处理程序它自己的数据持久化。

例如:

  1. 有10篇文章列表添加在时间[T],从数据库中的业务流程服务加载佐贺数据,修改它,并将其存储在时间到达T + 5]
  2. 与1个项目列表,以在时间到达时添加[T + 1],从数据库中的业务流程服务加载佐贺数据,修改它并把它存储在时刻[T + 4]

在时刻[T + 6]我应该有6添加的元素,但我得到只有5添加元素..

我认为,行为应该是这样的:如果涉及到同一列表中的第二条消息应该找到锁定状态,直到第一个完成过程状态..否则,如果涉及到另一个列表应该是并行处理。

对于这一点,我想知道如果编排服务不妥当作出支持工作流程的实现,除非工作线程的数量设置为只有一个,虽然失去了并行效率。

Answer 1:

您使用的是很旧版本的NServiceBus的和应该升级。 因此,许多错误是自那时以来,它真的是不值得你花时间来尝试解决这些问题的解决。



Answer 2:

你需要设计你的传奇/长期运行的进程来解决所有的并发问题。 这是很难说或推荐别的。

难道文章的出版需要这么长的时间,你遇到的并发问题?
或者,他们在重新发布如此频繁?

当文章列表中首次发表,怎么能有人修改或重新发布它,当它尚未产生的?



文章来源: Are orchestration services unfit to implement a workflow process?