xxl-job的搭建以及部署

本文详细介绍了如何搭建和部署XXL-JOB,包括修改`application.properties`,在Linux服务器上启动,配置nginx,设置jobExecutor,结合SpringBoot应用如Apollo、Dubbo和Cat进行集成,以及探讨SpringBoot的多数据源配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 什么是xxl-job

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

1. 文档地址

1. xxl-job开发文档

2.xxl-job社区交流

1. 配置xxl-job-admin

1. 修改application.properties

主要修改下面几个配置

server.port=8017
server.servlet.context-path=/newjob

spring.datasource.url=<replace>
spring.datasource.username=<replace>
spring.datasource.password=<replace>
2. linux服务器启动
  1. copy xxl-job-admin的jar包到远程服务器(xxl-job-admin-2.2.1-SNAPSHOT.jar)
  2. 运行xxl-job-admin(后台运行)
nohup java -jar xxl-job-admin-2.2.1-SNAPSHOT.jar &
  1. 打开地址 <服务器地址>:<:端口号>/
3. 配置xxl-job-admin的nginx
upstream new_job_clinks_com_cn {
    server  <服务器地址>:<服务器端口>  weight=1 max_fails=2;
}

location  ^~/newjob/ {                                                                                              
	index  index.html index.htm;                                                                                     
	proxy_pass http://new_job_clinks_com_cn/newjob/;                                                                 
	proxy_set_header Host $host;                                                                                     
	proxy_set_header X-Real-IP $remote_addr;                                                                         
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                                     
} 

3. 配置jobExecutor

1. 配置项目

主要按照官方给的spring-boot的例子来搭项目

2. 修改配置

主要改xxl.job.admin的地址

xxl.job.admin.addresses=<刚刚xxl-job-admin的地址>

4. SpringBoot + Apollo

1. apollo的jar包
  1. 在pom文件引入即可
<dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo</artifactId>
    <version>${apollo.version}</version>
</dependency>
<dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>${apollo.version}</version>
</dependency>
  1. 配置apollo的服务端

参照网上已有的教程 SpringBoot集成Apollo配置中心

  1. 配置Apollo Meta Server即可
2. 配置application.properties

配置apollo.bootstrap.enabled为true

apollo.bootstrap.enabled=true
apollo.bootstrap.namespaces=<namespace>
3. 配置走apollo

此时大部分配置都可以走apollo了,不需要在application.properties写了,因为apollo配置的结构和springboot的架构完全一致,直接可以从apollo读取到配置,这样在xml都不用写的基础上,连application.properties都不用写了~

5. SpringBoot + Dubbo

1. 引入pom
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>${dubbo-spring-boot-starter.version}</version>
</dependency>
2. 配置application.properties
# dubbo配置
dubbo.registry.protocol =
dubbo.registry.address = <注册中心地址>
dubbo.registry.username = <注册中心名字>
dubbo.registry.password = <注册中心密码>
dubbo.registry.simplified = true
dubbo.metadata-report.address = <元数据中心地址>
dubbo.metadata-report.username = <元数据中心名字>
dubbo.metadata-report.password = <元数据中心密码>
dubbo.protocol.name = dubbo
dubbo.provider.timeout = <服务提供超时>
dubbo.consumer.retries = <重试次数>
dubbo.consumer.timeout = <服务消费超时>
3. 使用
import org.apache.dubbo.config.annotation.Reference;

使用dubbo的@Reference注解

6. SpringBoot + Cat

<待整理>

7. SpringBoot 多数据源

<待整理>

### 如何部署XXL-JOB服务器 #### 准备工作环境 为了成功部署XXL-JOB服务器,需先准备好运行所需的软件包和依赖项。这通常包括Java开发工具包(JDK),MySQL数据库以及必要的网络配置。 #### 安装并配置MySQL数据库 创建一个专用于XXL-JOB的MySQL用户,并赋予该用户对`xxl_job`数据库的所有权限[^3]: ```sql CREATE USER 'xxl_job'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON xxl_job.* TO 'xxl_job'@'%'; FLUSH PRIVILEGES; ``` #### 下载与安装XXL-JOB源码或二进制版本 可以从官方GitHub仓库获取最新稳定版的XXL-JOB项目源代码或者预编译好的发布包。如果选择了下载源码,则还需要构建过程中的Maven等构建工具支持。 #### 修改日志记录设置 对于希望自定义的日志级别或其他参数,在路径`xxl-job-master/xxl-job-admin/src/main/resources/logback.xml`下编辑相应的logback配置文件可以满足需求[^1]。 #### 使用Nginx作为反向代理服务 通过配置Nginx来实现负载均衡和服务高可用性是非常常见的做法之一。下面是一个简单的例子展示了如何利用upstream指令指定多个后端节点地址,并将其映射到特定URL前缀上[^2]: ```nginx upstream xxljob-server { ip_hash; server your_xxljob_admin_ip:10100 weight=5 max_fails=3 fail_timeout=30s; } server { listen 8080; server_name localhost; location /xxl-job-admin/ { proxy_pass http://xxljob-server/; index index.html index.htm; } } ``` #### Docker化部署方案 考虑到容器化的便利性和一致性优势,也可以考虑采用Docker镜像的方式来快速搭建XXL-JOB集群环境。具体步骤可参照官方文档或者其他社区贡献者的指南完成相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值