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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM