Elsa 企业工作流程

Has*_*zar 7 elsa-workflows

我即将在我的公司开始一个新项目。我在一家高度受标准和最佳实践监管的企业中工作。我们已经部署了 Kofax TotalAgility。我正在尝试使用 Elsa 作为基于 .Net 4.6 的 Kofax 的轻量级替代品。我在 Blazor 服务器端和 .Net 5 上。

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

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

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

Sip*_*tra 3

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

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

《艾莎 2》预计将于三月底发行。