Bulbasaur轻量级流程引擎
Bulbasaur 是一个可插拔的精简流程引擎,可快速实现流程、审批、业务失败重试等场景。
bulbasaur分为四个模块,按需加载
使用。分别为:
模块 | 功能 |
---|---|
核心模块 bulbasaur-core |
提供核心流程 |
持久化模块 bulbasaur-persist |
提供流程的存储和失败回滚 |
调度模块 bulbasaur-schedule |
提供失败重试,定时等调度逻辑 |
任务模块 bulbasaur-task |
提供人工任务和超时自动执行,目前已经支持单人单任务,多人单任务 |
概述
- 如果你只是希望使用基于
内存
的流程引擎,那么只要使用核心模块
即可,流程模板以文件形式维护在业务方系统。 - 如果希望流程引擎有持久化的流程实例和节点,那么要使用
核心模块
+持久化模块
。 - 如果希望流程引擎有节点失败重试,定时等功能,那么要使用
核心模块
+持久化模块
+调度模块
。 - 如果希望任务审批,多人审批的能力,那么要使用
核心模块
+持久化模块
+任务模块
,至于要不要调度模块
都可以。
其中,除了核心模块外,其他模块都需要业务方建表支持。
持久化模块 bulbasaur-persist
需要表:
表名 | 功能 |
---|---|
xx_bulbasaur_d |
模板 |
xx_bulbasaur_p |
流程实例 |
xx_bulbasaur_s |
节点 |
调度模块bulbasaur-schedule
需要表:
表名 | 功能 |
---|---|
xx_bulbasaur_j |
重试/定时 任务 |
任务模块bulbasaur-task
需要表:
表名 | 功能 |
---|---|
xx_bulbasaur_t |
审批任务 |
xx_bulbasaur_ptp |
多人审批任务 |
以上表需要建在业务方库中,表名可以业务方指定,流程引擎可以识别,比如:业务方库中表都有统一前缀,那么流程引擎表可以都带上统一前缀。
流程引擎使用quartz做分布式调度,也需要在业务方库中建表。
评论