Elsa企业工作流



我即将在公司开始一个新项目。我在一家严格遵守标准和最佳实践的企业工作。我们已经部署了Kofax TotalAgility。我正在尝试使用Elsa作为Kofax的轻量级替代品,Kofax是在.Net 4.6上构建的。我在Blazor服务器端和.Net 5上。

所以艾尔莎有吸引力。其次,当涉及到艾尔莎时,他们严重缺乏帮助。一般或业余开发人员不会使用基于工作流的业务层。工作流在企业环境中更为常见。我们为使用AlwaysOn SQL Server的应用程序提供了负载平衡部署模型。如果我将Elsa嵌入到一个应用程序中,并将其表作为应用程序数据库的一部分,我需要将其部署到指向同一数据库的两个节点。这就为获取保存在DB中的活动并执行操作创造了竞争条件。这就是为什么Kofax被专门部署为单个节点的原因。这意味着我需要为我的所有应用程序部署基于Elsa的通用解决方案。我根本没有这样做的样本或指南。

有人能帮助我理解这种情况吗:Elsa部署并运行在IIS公开其API接口的服务器上(如果它已经部署在.Net 5 Web API中(。然后,一个单独的应用程序将利用Elsa的这个实例。

我在这里的理解可能是错误的。请帮忙。

Elsa 1(当前版本(不适合在多个节点上使用。正如OP所提到的,您不仅会遇到并发问题,而且具有基于时间的活动的工作流会导致给定的工作流在每个节点上执行,这在正常用例中是不可取的。

Elsa 2(目前在MyGet上提供预览包(则是另一回事。与Elsa 1一样,它是为在您自己的应用程序中使用而设计的,是一种添加工作流功能的轻量级解决方案。但与Elsa 1不同的是,它还被设计为作为一个单独的工作流服务器运行,为其他应用程序提供可交互的API。例如,仪表板应用程序不直接访问Elsa数据库,而是利用工作流服务器的API端点。此外,Elsa 2设计用于单节点和多节点环境,使您能够轻松地横向扩展工作流服务器。

《艾尔莎2》定于3月底上映。

最新更新