xxl-job的搭建以及部署

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. 打开地址 <服务器地址>:<:端口号>/<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包

  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都不用写了~

<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 多数据源

<待整理>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容