0. 什么是xxl-job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
1. 文档地址
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服务器启动
- copy xxl-job-admin的jar包到远程服务器(xxl-job-admin-2.2.1-SNAPSHOT.jar)
- 运行xxl-job-admin(后台运行)
nohup java -jar xxl-job-admin-2.2.1-SNAPSHOT.jar &
- 打开地址 <服务器地址>:<:端口号>/<context-path>
<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1gf61vuzw1qj30og0j2aa4.jpg" style="zoom:40%;float:left" />
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的例子来搭项目
<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1gf6224wx5bj30me0kydg5.jpg" style="zoom:30%;text-align:left;float:left" />
2. 修改配置
主要改xxl.job.admin的地址
xxl.job.admin.addresses=<刚刚xxl-job-admin的地址>
4. SpringBoot + Apollo
1. apollo的jar包
- 在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>
- 配置apollo的服务端
参照网上已有的教程 SpringBoot集成Apollo配置中心
- 配置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都不用写了~
<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1gf62ddl6moj30ww0840sz.jpg" style="zoom:30%;text-align:left;float:left" />
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 多数据源
<待整理>