开发笔记 -- 分布式调度&工作流引擎

一、分布式调度

spring-schedler+分布式锁: https://spring.io/guides/gs/scheduling-tasks/

quartz: http://www.quartz-scheduler.org/

xxl-job: https://www.xuxueli.com/xxl-job/

* xxl-job架构&实现:

 

- xxl-job定义了两个接口ExecutorBiz,AdminBiz:
ExecutorBiz(Scheduler(调用者) -> Executor(实现方)):
 接口中封装了心跳,暂停,触发执行等操作;
AdminBiz(Executor(调用方) -> Scheduler(实现方)):
 封装了回调,注册,取消注册操作;
接口的实现类中,并没有通信相关的处理。XxlRpcReferenceBean类的getObject()方法会生成一个代理类,这个代理类会进行远程通信。
- 调度实现解析

 - 调度核心: 时间片(5s读取) + 时间轮(每秒任务环)

 

二、工作流引擎

activiti: https://github.com/Activiti/Activiti

* 非动态编辑流程引擎开发实现: activiti + camunda-modeler

* activiti实例与组件详解

https://blog.csdn.net/babylovewei/category_8446375.html

* activiti流程制作插件camunda-modeler

https://blog.csdn.net/qq_40109075/article/details/113185917

 

posted @ 2022-05-24 16:48  yangdq  阅读(153)  评论(0编辑  收藏  举报