littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Spring Boot和Spring Cloud的分布式任务调度系统

项目简介

本项目是基于Spring Boot和Spring Cloud的分布式任务调度系统,采用微服务架构,结合Spring Cloud功能实现服务注册与发现、客户端负载均衡、网关组件等功能。同时集成MySQL、Redis、RabbitMQ等多种中间件,支持分布式任务调度、分布式锁、消息队列等功能,提供高效、可靠的任务调度解决方案。

项目的主要特性和功能

核心依赖

  • 开发框架:Spring Boot 2.5.7
  • 微服务框架:Spring Cloud 2021
  • 安全框架:Spring Security + Spring OAuth 2.0
  • 分布式任务调度:XXL - JOB
  • 数据库支持:MySQL
  • 持久层框架:MyBatis Plus
  • 消息中间件:Redis、RabbitMQ
  • 数据库连接池:Druid
  • 服务注册与发现:k8s svc
  • 客户端负载均衡:k8s svc
  • 网关组件:Spring Cloud Gateway
  • 日志管理:Logback
  • 分布式事务:Seata
  • 分布式锁:Redisson

系统架构图

系统架构

模块说明

  • common - backend - cloud:系统公共模块
  • common - component:系统公共模块
    • common - auth:授权
    • common - core:公共工具类核心包
    • common - feign:服务间远程调用
    • common - db:动态数据源包
    • common - log:日志模块
    • common - mybatis:mybatis扩展封装
    • common - rabbitmq:rabbitmq扩展封装
    • common - redis:redis扩展封装
    • common - swagger:接口文档
  • common - gateway:网关服务[8000]
  • common - visual:网关服务
    • common - xxl - job - admim:分布式定时任务管理台 [5004]
    • common - monitor:服务监控
    • common - sentinel - dashboard:流量高可用
  • backstage - center:运维后台
    • backstage - api:运维后台api模块
    • backstage - svc:后台系统业务处理模块[8001]
  • user - center:用户中心
    • user - api:用户服务api模块
    • user - svc:用户服务业务处理模块[8002]
  • script:脚本
    • sql:sql脚本
    • kubermetes:yaml

安装使用步骤

1. 环境准备

  • JDK 1.8+
  • Maven 3.6+
  • MySQL 5.7+
  • Redis 5.0+
  • RabbitMQ 3.8+
  • Kubernetes (可选)

2. 复制项目

将项目源码文件复制到本地。

3. 配置数据库

application.ymlapplication.properties中配置数据库连接信息: yaml spring: datasource: url: jdbc:mysql://localhost:3306/your-database username: your-username password: your-password

4. 配置Redis

application.ymlapplication.properties中配置Redis连接信息: yaml spring: redis: host: localhost port: 6379 password: your-password

5. 配置RabbitMQ

application.ymlapplication.properties中配置RabbitMQ连接信息: yaml spring: rabbitmq: host: localhost port: 5672 username: your-username password: your-password

6. 启动项目

进入项目根目录,执行以下命令启动项目: bash mvn clean install mvn spring-boot:run

7. 访问系统

启动成功后,可以通过浏览器访问系统的网关服务,默认端口为8000: http://localhost:8000

8. 部署到Kubernetes

如果需要将项目部署到Kubernetes集群,可以使用script/kubermetes目录下的yaml文件进行部署: bash kubectl apply -f script/kubermetes/

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】