本文重点介绍zeebe中涉及到的工作流概念。

工作流是定义任务编排的类似流程图的蓝图。每个任务都代表一个业务逻辑,这样有序的执行就产生了有意义的结果。

工作人员是完成任务所需的业务逻辑的实现。一个工作人员必须嵌入一个Zeebe客户端来与broker进行通信,否则,对其实现没有限制。您可以选择将Worker编写为微服务,也可以作为经典三层应用程序的一部分,通过命令行工具等编写为(lambda)函数。

运行工作流需要两个步骤:将工作流提交给Zeebe,并创建可以从Zeebe请求作业并完成它们的作业工作者。

Sequences

最简单的工作流程是按顺序排列的任务序列。每当工作流执行到达任务时,Zeebe就会创建一个作业,该作业可以由作业工作者请求并完成。

可以将Zeebe的工作流编排视为状态机。一个工作流实例到达一个任务,Zeebe创建一个工作人员可以请求的作业。然后,Zeebe等待工人请求作业并完成工作。一旦工作完成,流程将继续进行下一步。如果工作人员未能完成工作,工作流将保持在当前步骤,并且可以重试作业,直到成功完成。

Data Flow

当Zeebe在工作流中从一个任务发展到下一个任务时,它可以以变量的形式移动自定义数据。变量是键值对,是工作流实例的一部分。

每个作业工人都可以在完成作业时读取变量并对其进行修改,以便在工作流中的不同任务之间共享数据。

Data-based Conditions

有些工作流并不总是执行相同的任务,但需要根据变量和条件选择不同的任务:

中间带有“x”的菱形是一个元素,指示工作流决定采用多种路径之一。

Events

事件代表发生的事情。工作流可以对事件(捕获事件)作出反应,并可以发出事件(引发事件)。例如:

Fork / Join Concurrency

在许多情况下,并行执行多个任务也很有用。这可以通过fork/join并发实现:

带有“+”标记的菱形表示激活所有传出路径,合并所有传入路径。

BPMN 2.0

Zeebe使用bpmn 2.0来表示工作流。BPMN是一个行业标准,它得到了不同供应商和实现的广泛支持。使用BPMN可以确保Zeebe和其他工作流系统之间可以交换工作流。

YAML Workflows

除了bpmn 2.0之外,Zeebe还支持yaml工作流格式。它可以用来快速地用文本编写简单的工作流。与BPMN不同,它没有视觉表示,也没有标准化。Zeebe在提交时将yaml转换为bpmn。

BPMN Modeler

Zeebe提供了一个免费的开源BPMN建模工具,用于创建BPMN图并配置其技术属性。Modeler是一个基于bpmn.io开源项目的应用程序。

zeebe qq交流群群号:856546010

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐