封装工作流或一系列动作



我有一个简单的CRUD存储库服务。它针对远程存储库执行操作。

创建/更新数据时,我需要进行一系列操作:

  1. 更新不同的数据库
  2. 更新CRM记录
  3. 更新另一个数据库

我从设计使其可维护/可理解的角度设计这种编排时遇到了麻烦。

假设以上3个步骤是其他微服务的责任,此工作流将是什么样的模式/架构?

我建议使用服务面料中的Actor模型设计此应用程序。

一般将有两类参与者。

  1. 演员的演员

    • 创建一个基本的编排演员,该演员将执行共同的功能,例如收回消息,记录或所有其他编排都具有

    • 的任何其他方面
    • 应用特定的演员编排,该编排将从基本的编排中得出,并针对特定业务/应用程序有特定的步骤。使用微服务参与者来拨打一系列步骤来执行任务。

  2. 将执行单个任务的微服务参与者(DB1更新,CRM更新,电子邮件,Azure存储等(

我们使用相同模型的物联网应用程序进行了类似的设计。

用于编写这类流程,最好将DFA代码纳入编排。

流程启动时,系统具有检查成功完成的最后一个状态,并将功能调用给DFA

中的下一个状态

最新更新