Niubi Job 开源项目教程
niubi-job一个高可用的,专门针对定时任务的分布式任务调度框架项目地址:https://gitcode.com/gh_mirrors/ni/niubi-job
项目介绍
Niubi Job 是一个具备高可用特性的专门针对定时任务的任务调度框架。它是一个分布式任务调度框架,具有以下特点:
- 动态发布任务:通过 web 控制台上传任务 jar 包即可发布任务。
- 可靠性较高的灾备机制:采用成熟的分布式系统解决方案 Zookeeper 处理节点间的协作。
- 智能负载均衡:拥有理论上无限的伸缩能力(仅 master-slave 模式支持)。
- 有较为详细的任务执行日志。
- 完美支持 Spring 的运行环境。
- 支持多种模式,例如单机模式、伪分布式以及真正的分布式。
项目快速启动
环境准备
- JDK 1.8+
- 关系型数据库(推荐 MySQL)
- Zookeeper 3.4.7
- Tomcat 7+
下载与编译
# 克隆项目
git clone https://github.com/xiaolongzuo/niubi-job.git
# 进入项目目录
cd niubi-job
# 使用 Maven 编译
mvn clean package
配置与启动
- 将
niubi-job-console.war
部署到 Tomcat 中。 - 修改
niubi-job-console/WEB-INF/classes/config.properties
文件,配置数据库和 Zookeeper 信息。 - 启动
niubi-job-cluster
:
# 解压 niubi-job-cluster
tar -zxvf niubi-job-cluster.tar.gz
# 进入 bin 目录
cd niubi-job-cluster/bin
# 启动集群
sh startup.sh
应用案例和最佳实践
应用案例
Niubi Job 适用于需要定时执行且同一时间只能有一个节点运行此任务的场景。例如,有一个定时任务是定时去请求某个 API 获取交易的状态,然后将状态更新到数据库里。
最佳实践
- 任务设计:确保任务设计简单、独立,避免复杂的依赖关系。
- 日志管理:定期检查和清理任务执行日志,避免日志文件过大。
- 监控与告警:设置监控系统,对任务执行情况进行实时监控,并配置告警机制。
典型生态项目
Niubi Job 可以与以下项目结合使用,以构建更强大的分布式系统:
- Spring Boot:简化配置和部署过程。
- Zookeeper:用于节点间的协作和状态管理。
- MySQL/PostgreSQL:作为任务数据存储的后端数据库。
- ELK Stack:用于日志收集、分析和可视化。
通过这些生态项目的结合,可以进一步提升 Niubi Job 的性能和可靠性。
niubi-job一个高可用的,专门针对定时任务的分布式任务调度框架项目地址:https://gitcode.com/gh_mirrors/ni/niubi-job