定时任务调度系统设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定时任务调度系统设计相关的知识,希望对你有一定的参考价值。

目前定时任务调度系统quartz比较出名,quartz也有集群方案,但把所有任务集中一起就构成了分布式任务系统,耦合性比较高,而且比较重。

我利用zookeeper的特性,设计了一个轻量级的定时任务调度系统。

总体的架构:

技术分享

总体思路:

1.前端admin负责任务的管理,包含添加任务,删除任务,修改任务到zookeeper(类似数据库)。

2. 后台服务器从zookeeper中获取各自的任务列表。

3. 定时扫描各自的任务列表,任务执行时发送http请求给业务方。

4. 业务方接受到http请求进行业务处理。

具体实现代码参加github(只有雏形,正在完善当中):

https://github.com/nonobank-architect/nono-task-dispatcher

 

用到的组件:

cron-parser:https://github.com/RedHogs/cron-parser/

curator:https://github.com/apache/curator

技术分享

以上是关于定时任务调度系统设计的主要内容,如果未能解决你的问题,请参考以下文章

linux之定时任务调度

分布式定时任务设计及其框架

分布式定时任务设计及其框架

laravel 任务调度-即定时任务使用

最新开源分布式定时任务调度系统

Linux下定时任务(系统任务调度、用户任务调度)crontab使用详解