您的位置:首页 > 健康 > 美食 > 车载cms是什么意思_青岛房产网二手房最新信息_代刷网站推广_深圳网站优化培训

车载cms是什么意思_青岛房产网二手房最新信息_代刷网站推广_深圳网站优化培训

2025/3/20 14:20:05 来源:https://blog.csdn.net/qq_56851614/article/details/146362883  浏览:    关键词:车载cms是什么意思_青岛房产网二手房最新信息_代刷网站推广_深圳网站优化培训
车载cms是什么意思_青岛房产网二手房最新信息_代刷网站推广_深圳网站优化培训

使用 Docker 部署 XXL-JOB 详细指南

XXL-JOB 是一个轻量级分布式任务调度平台,广泛应用于定时任务调度、分布式任务处理等场景。通过 Docker 部署 XXL-JOB 可以快速搭建一个高可用、易扩展的任务调度系统。本文将详细介绍如何使用 Docker 部署 XXL-JOB,并讲解如何根据需求配置 XXL-JOB。


目录

  1. XXL-JOB 简介
  2. Docker 部署 XXL-JOB
    • 拉取 XXL-JOB 镜像
    • 运行 XXL-JOB 容器
    • 持久化配置
    • 网络配置
  3. XXL-JOB 配置文件详解
    • 常用配置项
    • 自定义配置文件
  4. 高级配置与优化
    • 集群部署
    • 数据库配置
    • 任务调度优化
  5. 监控与维护
    • 使用 XXL-JOB 管理界面
    • 日志管理
  6. 案例实战
    • 部署 XXL-JOB 调度中心
    • 部署 XXL-JOB 执行器

XXL-JOB 简介

XXL-JOB 是一个分布式任务调度平台,核心设计目标是开发简单、易扩展、易维护。它支持多种任务调度模式(如定时任务、Cron 表达式任务等),并提供了丰富的管理界面和监控功能。


Docker 部署 XXL-JOB

拉取 XXL-JOB 镜像

XXL-JOB 官方提供了 Docker 镜像,可以直接从 Docker Hub 拉取。

拉取调度中心镜像
docker pull xuxueli/xxl-job-admin:2.3.0
拉取执行器镜像
docker pull xuxueli/xxl-job-executor-sample:2.3.0

运行 XXL-JOB 容器

1. 运行调度中心容器

调度中心是 XXL-JOB 的核心组件,负责任务调度和管理。

docker run -d \--name xxl-job-admin \-p 8080:8080 \-e PARAMS="--spring.datasource.url=jdbc:mysql://<mysql-host>:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \--spring.datasource.username=<username> \--spring.datasource.password=<password>" \xuxueli/xxl-job-admin:2.3.0
  • -d:后台运行容器。
  • --name xxl-job-admin:指定容器名称。
  • -p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。
  • -e PARAMS:设置环境变量,配置数据库连接信息。
  • <mysql-host>:MySQL 数据库地址。
  • <username>:MySQL 用户名。
  • <password>:MySQL 密码。
2. 运行执行器容器

执行器是任务的执行单元,负责接收调度中心的任务并执行。

docker run -d \--name xxl-job-executor \-e PARAMS="--xxl.job.admin.addresses=http://<admin-host>:8080/xxl-job-admin \--xxl.job.executor.appname=xxl-job-executor-sample \--xxl.job.executor.ip= \--xxl.job.executor.port=9999" \xuxueli/xxl-job-executor-sample:2.3.0
  • -d:后台运行容器。
  • --name xxl-job-executor:指定容器名称。
  • -e PARAMS:设置环境变量,配置调度中心地址和执行器信息。
  • <admin-host>:调度中心地址。

持久化配置

为了持久化 XXL-JOB 的数据(如任务日志、调度记录等),可以将数据存储到 MySQL 数据库。

1. 创建 MySQL 数据库

在 MySQL 中创建数据库 xxl_job,并导入 XXL-JOB 提供的 SQL 脚本。

mysql -h <mysql-host> -u <username> -p<password> -e "CREATE DATABASE xxl_job;"
mysql -h <mysql-host> -u <username> -p<password> xxl_job < /path/to/xxl-job.sql
  • /path/to/xxl-job.sql:XXL-JOB 提供的 SQL 脚本路径。
2. 配置调度中心连接数据库

在调度中心启动时,通过环境变量配置数据库连接信息。


网络配置

如果调度中心和执行器部署在不同的主机上,需要确保网络互通。

1. 调度中心地址

执行器需要配置调度中心的地址:

--xxl.job.admin.addresses=http://<admin-host>:8080/xxl-job-admin
2. 执行器地址

调度中心需要知道执行器的地址和端口:

--xxl.job.executor.ip=
--xxl.job.executor.port=9999

XXL-JOB 配置文件详解

常用配置项

以下是一些常用的 XXL-JOB 配置项:

  • spring.datasource.url:数据库连接 URL。
  • spring.datasource.username:数据库用户名。
  • spring.datasource.password:数据库密码。
  • xxl.job.admin.addresses:调度中心地址。
  • xxl.job.executor.appname:执行器名称。
  • xxl.job.executor.ip:执行器 IP 地址。
  • xxl.job.executor.port:执行器端口。

自定义配置文件

可以通过挂载配置文件的方式自定义 XXL-JOB 的配置。

1. 创建配置文件

在主机上创建配置文件 application.properties

spring.datasource.url=jdbc:mysql://<mysql-host>:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=<username>
spring.datasource.password=<password>
xxl.job.admin.addresses=http://<admin-host>:8080/xxl-job-admin
xxl.job.executor.appname=xxl-job-executor-sample
xxl.job.executor.ip=
xxl.job.executor.port=9999
2. 挂载配置文件

启动容器时挂载配置文件:

docker run -d \--name xxl-job-admin \-p 8080:8080 \-v /path/to/application.properties:/app/config/application.properties \xuxueli/xxl-job-admin:2.3.0

高级配置与优化

集群部署

为了提高系统的可用性,可以部署多个调度中心和执行器。

1. 调度中心集群

部署多个调度中心实例,并使用 Nginx 进行负载均衡。

2. 执行器集群

部署多个执行器实例,并在调度中心中配置相同的 appname


数据库配置

使用高性能的 MySQL 数据库,并优化数据库连接池配置。

1. 数据库连接池

application.properties 中配置数据库连接池:

spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=10
2. 数据库索引

为任务日志表和调度记录表添加索引,提高查询性能。


任务调度优化

1. 任务分片

对于大数据量任务,可以使用任务分片功能,将任务拆分为多个子任务并行执行。

2. 任务超时

设置任务超时时间,避免任务长时间占用资源。


监控与维护

使用 XXL-JOB 管理界面

XXL-JOB 提供了丰富的管理界面,可以查看任务执行情况、调度日志、执行器状态等。

访问 http://<admin-host>:8080/xxl-job-admin,使用默认用户名 admin 和密码 123456 登录。


日志管理

XXL-JOB 的任务日志存储在数据库中,可以通过管理界面查看日志详情。


案例实战

部署 XXL-JOB 调度中心

1. 启动调度中心容器
docker run -d \--name xxl-job-admin \-p 8080:8080 \-e PARAMS="--spring.datasource.url=jdbc:mysql://<mysql-host>:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \--spring.datasource.username=<username> \--spring.datasource.password=<password>" \xuxueli/xxl-job-admin:2.3.0
2. 访问管理界面

打开浏览器,访问 http://<admin-host>:8080/xxl-job-admin


部署 XXL-JOB 执行器

1. 启动执行器容器
docker run -d \--name xxl-job-executor \-e PARAMS="--xxl.job.admin.addresses=http://<admin-host>:8080/xxl-job-admin \--xxl.job.executor.appname=xxl-job-executor-sample \--xxl.job.executor.ip= \--xxl.job.executor.port=9999" \xuxueli/xxl-job-executor-sample:2.3.0
2. 在管理界面注册执行器

登录调度中心管理界面,手动注册执行器。


通过以上步骤,你可以快速部署 XXL-JOB 调度平台,并根据需求进行配置和优化。继续实践和探索,你将能够更高效地使用 XXL-JOB 管理分布式任务!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com