Bulbasaur輕量級(jí)流程引擎
Bulbasaur 是一個(gè)可插拔的精簡(jiǎn)流程引擎,可快速實(shí)現(xiàn)流程、審批、業(yè)務(wù)失敗重試等場(chǎng)景。
bulbasaur分為四個(gè)模塊,按需加載使用。分別為:
| 模塊 | 功能 |
|---|---|
核心模塊 bulbasaur-core |
提供核心流程 |
持久化模塊 bulbasaur-persist |
提供流程的存儲(chǔ)和失敗回滾 |
調(diào)度模塊 bulbasaur-schedule |
提供失敗重試,定時(shí)等調(diào)度邏輯 |
任務(wù)模塊 bulbasaur-task |
提供人工任務(wù)和超時(shí)自動(dòng)執(zhí)行,目前已經(jīng)支持單人單任務(wù),多人單任務(wù) |
概述
- 如果你只是希望使用基于
內(nèi)存的流程引擎,那么只要使用核心模塊即可,流程模板以文件形式維護(hù)在業(yè)務(wù)方系統(tǒng)。 - 如果希望流程引擎有持久化的流程實(shí)例和節(jié)點(diǎn),那么要使用
核心模塊+持久化模塊。 - 如果希望流程引擎有節(jié)點(diǎn)失敗重試,定時(shí)等功能,那么要使用
核心模塊+持久化模塊+調(diào)度模塊。 - 如果希望任務(wù)審批,多人審批的能力,那么要使用
核心模塊+持久化模塊+任務(wù)模塊,至于要不要調(diào)度模塊都可以。
其中,除了核心模塊外,其他模塊都需要業(yè)務(wù)方建表支持。
持久化模塊 bulbasaur-persist 需要表:
| 表名 | 功能 |
|---|---|
xx_bulbasaur_d |
模板 |
xx_bulbasaur_p |
流程實(shí)例 |
xx_bulbasaur_s |
節(jié)點(diǎn) |
調(diào)度模塊bulbasaur-schedule需要表:
| 表名 | 功能 |
|---|---|
xx_bulbasaur_j |
重試/定時(shí) 任務(wù) |
任務(wù)模塊bulbasaur-task需要表:
| 表名 | 功能 |
|---|---|
xx_bulbasaur_t |
審批任務(wù) |
xx_bulbasaur_ptp |
多人審批任務(wù) |
以上表需要建在業(yè)務(wù)方庫中,表名可以業(yè)務(wù)方指定,流程引擎可以識(shí)別,比如:業(yè)務(wù)方庫中表都有統(tǒng)一前綴,那么流程引擎表可以都帶上統(tǒng)一前綴。
流程引擎使用quartz做分布式調(diào)度,也需要在業(yè)務(wù)方庫中建表。
評(píng)論
圖片
表情
