Netflix Conductor 作为工作流引擎解决方案

3

有人能分享一份Netflix Conductor的使用教程吗?在Github上是否有类似的代码示例?我已经尝试过Amazon SWF并理解了整个流程,但需要一些指导来开始使用Conductor。


你是否考虑过Cadence (github.com/uber/cadence)?它是由SWF的原始作者构建的。 - Maxim Fateev
4个回答

1
最初的资源是Netflix conductor的官方文档。其他有助于快速入门的部分是conductor的实际工作。
Conductor服务器主要管理任务的生命周期。
假设使用默认配置运行conductor服务器。要执行工作流程,您需要:
1. 创建任务定义, 2. 创建使用步骤1中的任务定义的工作流定义, 3. 执行工作流程。
作为执行的一部分,conductor服务器安排工作流程中的下一个任务。如果您刚刚执行了任务,则为工作流程中的第一个任务。 Conductor在内部使用dyno-queues,在其中任务可供客户端使用(客户端可以是内部任务,也可以是通过REST API与conductor交互的外部工作程序)。
我最初的主要疑问是关于工作者在哪里以及如何运行的?只要您的工作者可以访问conductor公开的REST API并能够更新任务的状态,那么工作者可以在任何地方运行,即您可以在任何需要的地方运行微服务。
一个简单的用例可能是入职前的雇佣验证。为了验证员工,您可以检查犯罪记录、药物、教育验证等等。如果您在本地运行conductor服务器,并且在负责上述领域的机构中放置了工作人员,工作人员将执行检查并相应地更新工作流程。
conductor与显式组件集成,如弹性搜索、由redis支持的dynomite数据存储。您可以将这些配置在HA集群上。
使用contribs模块,您可以集成外部MQ代理程序以进行任务,并通过相应的sink详细信息更新工作流程,以便事件发布到配置的sink。
您还可以拥有其他工作流程,在松散耦合的方式下通过事件处理程序作为主工作流程的子工作流程来执行。在上述用例中,此子工作流程可以是教育验证的工作流程,或者是犯罪背景检查的子工作流程等等。
由于conductor的无状态特性,您可以通过容器化运行多个conductor实例。

0

0

0

我认为最简单的方法是使用Docker。

克隆此存储库: https://github.com/Netflix/conductor

进入conductor/docker并运行docker-compose up

现在,在浏览器中打开http://localhost:5000

在左侧菜单中,您将看到工作流程def项,其中可以查看工作流程示例。

要部署自己的工作流,请从此站点复制json,更改名称并使用此软件Postman.com进行部署。

执行此端点以部署:http://localhost:8080/api/metadata/workflow

执行此端点以运行您的工作流:http://localhost:8080/api/workflow/


使用Docker时,没有持久数据。你知道如何使用具有数据持久性的Conductor吗? - amerej

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接