zoukankan      html  css  js  c++  java
  • zeebe学习(四)——docker+docker-compose(存储库)

      在zeebe学习(一)中,我们在Linux虚拟机上安装了zeebe并部署了官方提供的工作流程,最后创建了工作流实例并运行。

      但在本篇的学习中,将会把Zeebe与Docker结合起来使用,不仅可以实现部署工作流程,创建工作流实例并运行,还可以通过operate+ Elasticsearch让我们可以在浏览器上更加直观地看到工作流实例的运行的过程。

      首先,先来简单了解一下以下的几个组件:

    1. Zeebe Modeler:一个桌面建模工具,在将其部署到Zeebe之前,我们将使用它来创建和配置工作流。

    2. Zeebe发行版:Zeebe发行版包含工作流引擎,我们将在其中部署工作流模型。该引擎还负责管理活动工作流程实例的状态。发行版中包括Zeebe CLI,我们将在整个教程中使用它。请使用Zeebe 0.20.0。

    3. Camunda Operate:一种操作工具,用于监控Zeebe中的实时工作流实例并进行故障排除。Operate当前可免费且不受限制地用于非生产用途

    4. Elasticsearch 6.8.0:一个开放源代码的分布式数据存储,可以连接到Zeebe以存储工作流数据以进行审计,可视化,分析等。CamundaOperate使用Elasticsearch作为其基础数据存储,这就是为什么您需要下载Elasticsearch才能完成本教程。Operate和Zeebe与Elasticsearch 6.8.0兼容。

    但是,我们使用Docker运行的话并不需要下载这几个组件,只需要使用https://github.com/zeebe-io/zeebe-docker-compose存储库中的docker-compose.yml配置文件。

      好的,简单地了解之后,就开始在虚拟机上实践吧!

    一、安装好Docker环境

    这里就不再重复安装的过程,直接查看一下Docker的版本信息。

    二、将zeebe-docker-compose存储库克隆到本地计算机

    git clone https://github.com/zeebe-io/zeebe-docker-compose
    

    三、apt安装docker-compose

    sudo apt-get install docker-compose
    

      安装好之后,可以查看一下docker-compose的版本信息

    docker-compose version
    

    补充:

     docker的版本过低(<5:0)会导致安装失败!

    四、移动到zeebe-docker-compose/operate目录下(与docker-compose.yml配置文件同级目录),并创建容器

    cd ../zeebe-docker-compose/operate
    
    docker-compose up -d #创建守护式容器

    执行上述的命令后,docker会拉取配置文件中指定的镜像,并创建容器,输出信息如下图所示:

    补充报错信息:

    1、我刚开始docker-compose使用的是1.25.5版本,执行docker-compose up -d 命令是会报错,报错信息如下:

     配置文件是存在是的,但是还是报错了,没搞明白,然后再另一个虚拟机上换成1.17.1版本之后就没有这个问题了,还不确定是不是版本问题导致的。

    2、拉取镜像超时

     多执行几次这个命令,就可以了。如果没有配置/etc/docker/daemon.json,则需要配置一下加速镜像。参考https://www.cnblogs.com/zrs123/p/14073507.html

    好了,这时候就可以查看一下容器是否已经创建完成:

     可以看到容器已经成功创建并运行!

    若想停止容器在后台运行,则可以在这个目录下运行以下命令:

    docker-compose down
    

      如果您还想清除持久性数据,请改用以下命令:

    docker-compose down -v
    

      

    五、在浏览器使用operate

    地址输入虚拟机的IP地址和operate映射的端口号(8080),会出现登录界面,用户名/密码(demo/demo),如下图如所示:

     可以看到此时还没有部署工作流程。

    六、部署工作流程

    打开另一个终端,查看zeebe代理的的状态

    ./bin/zbctl --insecure status
    

      

     部署官方提供的order-process.bpmn工作流程

    ./bin/zbctl --insecure deploy order-process.bpmn
    

      这时候,到浏览器上看一下Operate用户界面(忘记截图了):

    应该会出现如下的工作流程:

    七、创建工作流实例

    部署工作流后,我们可以创建它的新实例。工作流的每个实例都是工作流的单个执行。要创建一个新实例,我们必须从BPMN文件中指定流程ID

    ./bin/zbctl --insecure create instance order-process --variables '{"orderId": 1234}'

     查看一下operate界面,发现工作流程已经开始,开始等待第一步collect money

    八、完成工作流实例

    ./bin/zbctl --insecure create worker payment-service --handler cat &
    

      查看operate用户界面,第一步完成

    ./bin/zbctl --insecure create worker inventory-service --handler cat &
    

      再查看一下operate用户界面,第二步完成

    ./bin/zbctl --insecure create worker shipment-service --handler cat &
    

      查看operate用户界面,第三步完成,工作流结束。

    到此,就大功告成了!!!呼!长舒一口气!

    参考:https://github.com/zeebe-io/zeebe-docker-compose

  • 相关阅读:
    【响应式Web设计实践 #BOOK#】
    【JS】(+﹏+)~
    -_-#【邮件】qq邮箱不显示图片
    -_-#【Markdown】
    51Nod——N1284 2 3 5 7的倍数
    51Nod——N1118 机器人走方格
    洛谷——P1014 Cantor表
    洛谷—— P1434 滑雪
    洛谷——P1443 马的遍历
    python(24)- 面向对象进阶
  • 原文地址:https://www.cnblogs.com/zrs123/p/14180793.html
Copyright © 2011-2022 走看看