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