實戰筆記 -- 分散式排程&工作流引擎
阿新 • • 發佈:2022-05-24
一、分散式排程
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