zeebe内部实现机制

在内部,Zeebe被实现为在记录流(分区、partitions)上工作的流处理器的集合。 使用流处理模型,因为它是一种统一的方法来提供:

  • 命令协议(请求 - 响应),
  • 记录导出(流),
  • 工作流评估(异步后台任务)

也会记录导出依次解决了历史问题:流提供了工作流引擎需要生成的详尽的审计日志。

State Machines

Zeebe管理有状态实体:作业,工作流等。在内部,这些实体被实现为由流处理器管理的状态机。

状态机模式的概念很简单:状态机的实例总是处于几种逻辑状态之一。 从每个状态,一组转换定义下一个可能的状态。 过渡到新状态可能会产生输出/副作用。

让我们来看看状态机的工作情况。 简化,看起来如下:

 

每个椭圆形都是一个状态。 每个箭头都是一个状态转换。 请注意每个状态转换如何仅适用于特定状态。 例如,当状态为CREATED时,无法完成作业。

Events and Commands

状态机中的每个状态更改都称为事件。 Zeebe将每个事件作为记录发布在流上。

可以通过提交命令来请求状态更改。 Zeebe代理从两个来源接收命令:

  • 客户端远程发送命令。 示例:部署工作流,启动工作流实例,创建和完成作业等。
  • 代理本身生成命令。 示例:锁定作业以供工人独占处理等。

收到后,命令将作为记录在已寻址的流上发布。

Stateful Stream Processing

流处理器按顺序读取记录流,并根据寻址实体的生命周期解释命令。 更具体地说,流处理器重复执行以下步骤:

  1. 从流中获取下一个命令。
  2. 根据状态生命周期和实体的当前状态确定命令是否适用。
  3. 如果该命令适用:将其应用于状态机。 如果命令是由客户端发送的,则发送回复/响应。
  4. 如果该命令不适用:拒绝它。 如果它是由客户端发送的,则发送错误回复/响应。
  5. 发布报告实体新状态的事件。

例如,处理“创建作业”命令会生成“创建作业”事件。

Command Triggers

在一个实体中发生的状态更改可以自动触发另一个实体的命令。 示例:作业完成后,相应的工作流程实例将继续下一步。 因此,事件作业已完成会触发命令“完成活动”。

zeebe qq交流群群号:856546010

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zeebe是一款基于流程引擎的分布式工作流引擎,而Spring Boot是一个用于创建独立的、生产级别的Spring应用程序的框架。将Zeebe与Spring Boot集成可以使我们更方便地在应用程序中使用工作流引擎。 要在Spring Boot应用程序中集成Zeebe,可以按照以下步骤进行操作: 1. 添加依赖:在项目的pom.xml文件中添加Zeebe和Spring Boot的相关依赖。例如,可以添加以下依赖: ```xml <dependency> <groupId>io.camunda.zeebe</g> <artifactId>zeebe-client-java</artifactId> <version>.2.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 2. 配置Zeebe连接:在Spring Boot应用程序的配置文件(如application.properties或application.yml)中配置Zeebe连接信息,包括Zeebe Broker的地址和端口等。例如: ```yaml zeebe.client.broker.contactPoint=127.0.0.1:26500 ``` 3. 创建Zeebe客户端:在Spring Boot应用程序中创建Zeebe客户端实例,以便与Zeebe Broker进行通信。可以使用@Autowired注解将Zeebe客户端注入到需要使用的类中。 4. 使用Zeebe工作流:通过Zeebe客户端,可以创建、部署和执行工作流实例。可以使用Zeebe提供的API来定义工作流模型、任务和流程变量等。 5. 处理工作流事件:在Spring Boot应用程序中,可以使用Zeebe提供的监听器来处理工作流事件,例如任务完成、工作流实例启动等。可以通过编写相应的处理逻辑来响应这些事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值