Camunda8流程引擎私有化安装部署快速入门

Camunda8是基于标准云原生架构设计开发的,所以官方优先推荐基于Kubernetes和docker的方式安装部署Camunda8,考虑到大部分开发者不一定具备Kubernetes环境和云原生相关知识,所以本文介绍如何在一台windows机器下手动安装运行Camunda8的方式,方便开发者快速了解Camunda8的组件和新特性,对Camunda8的功能有感性认识。

Camunda8架构图

整个操作步骤为:下载Camunda8相关的组件—》安装JDK—》安装elasticsearch—》安装zeebe—》安装operate—》安装tasklist—》安装流程设计器—》设计流程—》发布流程—》处理待办任务。

一、部署环境说明

1、部署环境介绍

操作系统:官方推荐使用Linux,本人使用Window11 64位,内存16G;

Jdk版本:要求OpenJDK 8+ 以上版本,本人安装的是jdk20版本;

Camunda版本:Camunda Platform 8.1.10;

部署Camunda8的步骤为:先安装OpenJDK 8+,再安装Elasticsearch,再依次部署zeebe、operate、tasklist等服务。安装JDK是启动部署启动其它服务组件的前提条件。

安装完成后,Camunda8共有5个组件,windows目录结构如下:

2、OpenJDK安装

如果您已经安装了OpenJDK 8+,本步骤可以跳过。

Jdk20下载地址:https://www.oracle.com/java/technologies/downloads/#jdk20-windows

下载完成后,安装Jdk,查看是否安装成功

二、elasticsearch安装部署

1、下载elasticsearch

https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-16-2

2、启动elasticsearch服务

将下载的Elasticsearch解压到C:\java\camunda8\elasticsearch-7.16.2,进入bin目录,点击elasticsearch.bat启动es服务,效果如下:

3、检查elasticsearch服务

检查elasticsearch是否启动成功,浏览器输入:http://localhost:9200/?pretty

三、 zeebe安装部署

1、下载zeebe部署包

下载zeebe, https://github.com/camunda/camunda-platform/releases

私有化部署camunda8,需要camunda-zeebe-8.1.10.zipcamunda-operate-8.1.10.zipcamunda-tasklist-8.1.10.zipcamunda-identity-8.1.10.zip,可以在这里一并下载这些组件。

2、配置zeebe-elasticsearch-exporter

将下载的zeebe解压到C:\java\camunda8\camunda-zeebe-8.1.10,进入config目录

打开 application.yaml配置文件,在文件中增加如下配置

zeebe:
  broker:
    exporters:
       elasticsearch:
         className: io.camunda.zeebe.exporter.ElasticsearchExporter

为什么需要配置elasticsearch exporter到出器?

Zeebe本身不存储与您的工作流实例相关的历史数据。如果要保留这些数据以供审核或析,则需要导出到另一个存储系统。Zeebe提供了了一个现成的ElasticSearch导出器,在安装目录的lib\zeebe-elasticsearch-exporter-8.1.10.jar。ElasticSearch也是Camunda Operate和Camunda Tasklist的存储数据的工具,因此要运行Operate和Tasklist,需要在Zeebe中启用ElasticSearch导出器并运行ElasticSearch的一个实例。

在Zeebe配置exporter特别关键,在camunda8的官方文档中没有明确写明,大家本地部署测试很容易不成功,如果没有配置elasticsearch exporter,那么后面的operate和tasklist界面中看不到流程实例数据。

3、启动zeebe服务

进入bin目录,点击broker.bat,启动zeebe服务,效果如下:

4、测试zeebe

您可以通过询问zbtcl的集群拓扑来测试Zeebe网关,zbctl状态应该产生这样的输出:

四、 Operate安装部署

1、启动operate服务

将下载的operate解压到C:\java\camunda8\camunda-operate-8.1.10,进入bin目录,点击operate.bat,启动operate服务,效果如下:

2、进入operate控制台

启动完成后,访问:http://localhost:8080/,输入用户名demo,密码demo,进入operate管理控制台,当前还没有发布任何流程,如下效果:

注意:camunda8是微服务架构,我们模拟的是分布式部署,operate组件需要连接elasticsearch数据库和zeebe网关,具体配置在config/application.yml文件中,默认配置如下:

# Operate configuration file
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: elasticsearch
    # URL
    url: http://localhost:9200
  # Zeebe instance
  zeebe:
    # Gateway address
    gatewayAddress: localhost:26500
  # ELS instance to export Zeebe data to
  zeebeElasticsearch:
    # Cluster name
    clusterName: elasticsearch
    # URL
    url: http://localhost:9200
    # Index prefix, configured in Zeebe Elasticsearch exporter
prefix: zeebe-record

更多配置参数见官方文档:https://docs.camunda.io/docs/self-managed/operate-deployment/operate-configuration/

五、Tasklist安装部署

1、修改tasklist配置文件

Tasklist默认端口为8080,直接启动跟operate服务端口冲突,这里需要先修改该服务的端口,这样才能在一台机器上启动。

在config/ application.yml文件中,增加server.port端口配置,如下:

更多配置参数见官方文档:https://docs.camunda.io/docs/self-managed/tasklist-deployment/tasklist-configuration/

2、启动tasklist服务

将下载的tasklist解压到C:\java\camunda8\camunda-tasklist-8.1.10,进入bin目录,点击tasklist.bat,启动tasklist服务,效果如下:

3、进入tasklist控制台

启动完成后,访问:http://localhost:8090/,输入用户名demo,密码demo,进入tasklist管理控制台,当前还没有发布流程任务信息,如下效果:

六、流程设计器安装部署

1、下载Desktop Modeler

Camunda8版本提供了Desktop Modeler 和Web Modeler两个版本的流程设计器,其中,Desktop Modeler是开源版本,Web Modeler是商业版本,目前官方只提供了docker安装包。我们使用开源版本的流程设计器Desktop Modeler。

下载camunda桌面版流程设计器Desktop Modeler, https://camunda.com/download/modeler/

2、启动Desktop Modeler

将下载的Desktop Modeler解压到C:\java\camunda8\camunda-modeler-5.10.0,进入该目录,点击Camunda Modeler.exe启动流程设计器,效果如下:

启动流程设计器后的界面,该版本流程建模工具支持Camunda7和Camunda8两个版本,支持BPMN、DMN、Form等模型建模,我们选择Camunda Platform8的BPMN模型。

3、设计一个流程并发布

为了测试流程发布、流程启动和流程审批功能,简单设计了一个user task活动的审批流程,配置流程处理人为demo,该用户是camunda安装后默认的一个用户,方便后面通过界面进去处理审批流程。

流程设计完成后,点击设计器左下角的发布按钮,弹出如下界面:

注意发布时选择Self-Managed目标,即自己私有化部署的流程引擎集群,输入默认的zeebe网关地址,点击deploy即可完成流程发布。

也可以在设计器上直接启动流程:

此时再登录到operate控制台中,即可看到刚刚启动的流程实例:

点击实例标题进入流程实例中:

可以看到流程是启动状态,当前在申请user task节点上,此时,我们登录Tasklist工作台,看看有没有待办任务。

点击Complete Task按钮,完成待办任务处理,再回到operate界面,看到流程状态已经到了下一个活动节点了。

七、总结

camunda7流程引擎内核是基于activiti5发展而来的,本质是上流程虚拟机pvm。Camunda8流程引擎内核是Zeebe,Zeebe是为Camunda平台8提供动力的过程自动化引擎。camunda7和camunda8的流程引擎完全不同,所以说camunda7和camunda8是两个完全不同的流程平台。camunda8虽然也提供了私有化安装部署模式,但官方定位是SaaS化流程引擎,重点是支持在线开通租赁服务。另外camunda8相对于camunda7开说,它的开源组件较少,大部分组件需要单独授权购买。

关于camunda7和camunda8的对比分析,请参考:https://lowcode.blog.csdn.net/article/details/129764438

八、扩展知识:camunda8部署方式

官方推荐使用以自我管理的方式部署运行camunda8的几种方式:

1、 基于Helm/Kubernetes部署运行Camunda8

强烈建议在生产中使用Kubernetes运行Camunda Platform 8。除了库存Kubernetes,还正式支持各种提供商,如Red Hat OpenShift和Amazon EKS。此外,将Kubernete与Minikube或KIND一起使用,可以在开发人员机器上本地运行Camunda Platform 8。

2、 基于Docker部署运行Camunda8

可以运行所提供的组件的Docker镜像,也可以在生产中运行。为了您的方便,我们提供了Docker Compose配置,用于在开发人员机器上运行Camunda Platform 8。请注意,Docker Compose配置不是针对生产使用进行优化的,而是针对本地开发进行优化的。

3、 手动方式部署运行Camunda8

如果本地或虚拟机提供了受支持的Java虚拟机(JVM),则可以在其上运行Java应用程序。这允许您在虚拟机或裸机上运行Camunda,并提供了很大的灵活性。但是,您需要配置组件的详细信息,以便自己正确地进行交互。我们认为这是最后的手段。请注意,Zeebe的生产使用不支持Windows/Mac。

九、参考资料

https://docs.camunda.io/docs/self-managed/platform-deployment/manual/

https://docs.camunda.io/docs/self-managed/platform-deployment/overview/

http://marvelouscoding.xyz/archives/zeebe

http://www.yunchengxc.com

猜你喜欢

转载自blog.csdn.net/wxz258/article/details/130392049