Bulbasaur轻量级流程引擎

联合创作 · 2023-09-30 05:40

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做分布式调度,也需要在业务方库中建表。

 

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报