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


Apache
跨平台
Java

软件简介

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,源码结构如上述 [开发] 章节。