Quartz 分布式集群 数据持久化任务调度系统
介绍
Quartz 的分布式集群功能是为了应对在多个节点间分担调度任务,以保证高可用性和负载均衡。通过将多个 Quartz 调度器实例集成到一个集群中,可以确保在一个节点发生故障时,其他节点可以继续执行任务,避免单点故障,提供更高的可靠性。
依赖
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
配置文件
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/java-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
quartz:
job-store-type: jdbc #数据库存储数据
jdbc:
initialize-schema: never
#always:每次清空数据库初始化
#embedded:每次清空内存(默认)
#never 不进行初始化
properties:
org:
quartz:
jobStore:
isClustered: true #是否集群
threadPool:
threadCount: 20 #线程池大小
scheduler:
instanceName: quartz #节点名称
instanceId: AUTO #节点ID 自动分配
这样就完成了分布式的服务器搭建