earth-frost基于 Redis 的分布式任务调度框架

联合创作 · 2023-09-29 14:51

earth-frost


earth-frost是一个轻量级分布式任务调度框架。


介绍



  • 调度模块和执行模块分离


  • 使用redis作为数据库


  • 基于订阅模式实现服务注册和发现


  • 演示地址: http://www.justlive.vip (请勿恶意攻击)



环境



  • Angular: v1.x


  • JDK: 1.8+


  • Maven: 3+


  • Redis: 2.8+


  • Spring boot: 2.x


  • Thymeleaf: 3



功能


1.0.0



  • 简单易上手,支持web界面进行任务的CRUD


  • 支持动态修改任务的开始,停止


  • 调度中心支持集群部署,将任务的调度进行封装,支持分配各种不同的任务


  • 执行器支持分布式,支持集群部署,可进行相应分组,在调度中心界面查看


  • 支持伸缩扩展,调度中心和执行器都是基于redis订阅模式进行服务注册发现和任务调度,服务上下线发现及时


  • 支持失败重试


  • 任务监控和报警


  • 动态编译任务,支持web界面编辑任务源码,创建任务


  • 支持父子任务


  • 运行报表



1.1.0



  • 支持钉钉预警通知


  • 调度记录增加执行时间


  • 任务超时报警机制


  • 支持分片任务



开发


frost-api
对外实体和接口
frost-core
定义调度、执行、注册发现、通知等核心功能的接口和抽象
frost-support-redis
以redis实现调度、执行、注册发现等接口的支持包
frost-center
调度中心服务,包含安全认证和UI展示,依赖core实现调度逻辑
frost-executor
执行器服务,依赖core实现任务执行逻辑,包含开发脚本任务的部分实例以及配置样例
frost-client
客户端api,第三方项目可依赖client实现与调度中心交互

快速入门


启动Redis数据库


请下载并安装2.8+版本的Redis,单机或集群模式皆可。


调度中心和执行器均支持集群模式部署,集群模式下各节点需配置相同的Redis服务


导入源码


解压源码,按maven格式将源码导入IDE,源码结构如上述 [开发] 章节。

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报