zeebe快速入门

下载麻烦可以下我这个整理的整包:
链接:https://pan.baidu.com/s/1H0TnfNZ1SFZ-WedZtoKo6Q
提取码:cqm7

下载zeebe

zeebe发布页面,选择zeebe-distribution-0.24.3.tar.gz下载

下载zeebe-modeler

zeebe-modeler发布页面,选择zeebe-modeler-x.x.x-win-x64.zip

下载camunda-operate

zeebe发布页面,选择camunda-operate-0.24.3.tar.gz

下载elasticsearch 6.8.1

ES6.8.1下载页面

下载zeebe-simple-monitor

zeebe-simple-monitor发布页面,选择zeebe-simple-monitor-0.19.1.jar

下载hazelcast

添加链接描述hazelcast发布页面,选择zeebe-hazelcast-exporter-0.9.1-jar-with-dependencies.jar

启动es

[es@localhost es]$ cd /usr/local/es/
[es@localhost es]$ ./bin/elasticsearch

启动zeebe borker

添加如下配置/usr/local/zeebe/config/application.yaml,用来打开elasticsearch exporter(导出数据用于camunda-operate)和hazelcast exporter(导出数据用于zeebe-simple-monitor):

    exporters:
      elasticsearch:
        className: io.zeebe.exporter.ElasticsearchExporter
        args:
          url: http://es_host:es_port
      hazelcast:
        className: io.zeebe.hazelcast.exporter.HazelcastExporter
        jarPath: /usr/local/zeebe/exporters/zeebe-hazelcast-exporter-0.9.1-jar-with-dependencies.jar

启动zeebe borker:

cd /usr/local/zeebe
./bin/broker

启动operate

修改配置/usr/local/operate/config/application.yml

camunda.operate:
  # Set operate username and password.
  # If user with <username> does not exists it will be created.
  # Default: demo/demo
  # username: 
  # password: 
  # ELS instance to store Operate data
  elasticsearch:
    # Cluster name
    clusterName: es的集群名称
    # Host
    host: es_host
    # Transport port
    port: es_port
  # Zeebe instance
  zeebe:
    # Broker contact point
    brokerContactPoint: zeebe_host:26500
  # ELS instance to export Zeebe data to
  zeebeElasticsearch:
    # Cluster name
    clusterName: elap
    # Host
    host: es_host
    # Transport port
    port: es_port
    # Index prefix, configured in Zeebe Elasticsearch exporter
    prefix: zeebe-record
#Spring Boot Actuator endpoints to be exposed
management.endpoints.web.exposure.include: health,info,conditions,configprops,prometheus
# Enable or disable metrics
#management.metrics.export.prometheus.enabled: false

启动operate

cd /usr/local/operate/
./bin/operate

访问http://operate_host:8080,默认账号密码:demo/demo

启动zeebe-simple-monitor

monitor的配置需要到jar包中修改,不太方便,所以没有特殊需求的情况下使用默认配置,部署在zeebe-borker同一台主机上即可。

cd /usr/local/monitor
java -jar zeebe-simple-monitor-0.19.1.jar

访问http://monitor_host:8082

客户端使用

zeebe示例源码:https://gitee.com/tanwubo/zeebe-quickstart-demo
修改zeebe borker的连接信息:

	@BeforeEach
	public void initZeebeClient(){
		client = ZeebeClient.newClientBuilder()
				.brokerContactPoint("192.168.153.138:26500")
				.usePlaintext()
				.build();
		System.out.println("connected...");
	}

依次执行:

  1. deployOrderProcessTest
  2. createOrderPayWorkerTest
  3. createNoInsuranceWorkerTest
  4. createHaveInsuranceWorkerTest
  5. createInstance1Test

执行到这里,可以去operate查看一下:
在这里插入图片描述
工作流阻塞在already paid处,等待pay-received类型的Message消息
继续执行第6步createPayReceivedMessageTest
在这里插入图片描述
其他的组件使用示例都可以在项目中找到。

service task

图标:在这里插入图片描述
最常见的组件了,可以理解为一个任务,关键的属性是type,一个完整的service task的属性如下:
在这里插入图片描述
name:能够见名知意即可,描述任务目的
type:全局唯一,定义任务类型,以次做为凭证,分发任务给相关的某一个工作人员实例。

receive task

图标:在这里插入图片描述
工作流实例在执行到receive task时会阻塞在这,直到接受到对应的message实例,属性列表如下:
在这里插入图片描述

message name:全局唯一,指定任务等待接受的message名称
subscription correlation key:基本可以理解为工作流实例的主键,作用就是通过这个属性值,匹配到唯一的一个工作流实例

exclusive gateway

图标:在这里插入图片描述
排他网关类似于JAVA中的多重if else结构,所以本身只有一个name属性,关键在于连接线的condition expression属性:
在这里插入图片描述

condition expression:值可以为空或者是一个布尔表达式,为空表示默认执行流程,布尔表达式中可以使用工作流实例所携带的参数,结果为true时执行这条流程,执行任意一条流程,其他的表达式无需再执行。

parallel gateway

图标:在这里插入图片描述
并行网关会同时执行与网关连线的所有任务,语义简单明了,没有特殊的属性,只要注意使用场景即可。
并行网关可以放在俩个位置,如下图:
在这里插入图片描述
放在多个任务流程前表示后面连接的任务并行执行,放在多个任务流程后会等待连接的任务全部执行完成才继续后面的流程。

event-based gateway

图标:在这里插入图片描述
事件网关流程后只能连接timer even或者message even,等待某一个事件触发,则仅仅执行该事件的后续流程。
使用示例如下图:
在这里插入图片描述

none event

可用于无其他含义的开始或结束。

message event

图标:在这里插入图片描述
与receive task类似,也是会阻塞在message event处,等待对应的message,这是一种使用方法:
在这里插入图片描述
还有一种用法叫边界事件,可以给task添加消息边界事件,这样可以实现在任务执行时,通过message event来中断任务,执行另一条流程,例如:
在这里插入图片描述

timer event

timer event可以用于工作流的开始,表示每各一个周期重复做某件事情,像这样:
在这里插入图片描述
也可以放在工作流中间,表示等待一段时间继续往后执行,像这样:
在这里插入图片描述
还可以用于边界事件,表示任务执行超时,取消任务,执行另一条超时流程:
在这里插入图片描述

error event

error event通常只能用于任务的边界事件,表示任务出现错误时的执行流程:
在这里插入图片描述
error event的核心属性是error code,只有任务抛出的error code匹配的上才能捕获得到:
在这里插入图片描述

embedded subprocess

embedded subprocess是以嵌入的形式存在在主工作流当中:
在这里插入图片描述
可以理解为将一些任务包裹了起来,包裹之后的好处在于可以对整个子流程使用边界事件。

call activity

call activity是一种将其他工作流引入当前工作流的组件:
在这里插入图片描述
call activity的核心属性是process id:
在这里插入图片描述
相较于embedded subprocess的好处在于可重用,例如此处other_process工作流可在多个不同的工作流模型中使用。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值