前置知识
在开始本教程之前,建议您具备以下基础知识:
- Java 基础语法
- Spring Boot 基础
- 基本的数据库概念
- Docker 基础知识(可选)
什么是 Redis?
Redis (Remote Dictionary Server) 是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis 支持多种数据类型,如字符串、哈希表、列表、集合、有序集合等。
2025/9/17大约 5 分钟
前置知识
在开始本教程之前,建议您具备以下基础知识:
Redis (Remote Dictionary Server) 是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis 支持多种数据类型,如字符串、哈希表、列表、集合、有序集合等。
前置知识
在学习本教程之前,建议您具备以下基础知识:
RocketMQ 是阿里巴巴开源的分布式消息中间件,现已成为 Apache 顶级项目。它是一款低延迟、高可靠、高吞吐、可水平扩展的消息中间件,广泛应用于异步通信、削峰填谷、应用解耦等场景。
前置知识
在开始本教程之前,建议您具备以下基础知识:
Apache Kafka是一个分布式流处理平台,具有以下特点:
前置知识
在学习本文之前,请确保您已经:
Kafka生产者的消息发送流程:
前置知识
在学习本文之前,请确保您已经:
Kafka消费者的工作流程:
前置知识
在学习本文之前,请确保您已经:
Kafka事务可以保证:
前置知识
在学习本文之前,请确保您已经:
Kafka Streams是一个客户端库,用于构建:
前置知识
在开始本教程之前,建议您具备以下基础知识:
Quartz是一个功能丰富的开源作业调度框架,可以用来创建简单或复杂的任务调度。它的主要特点:
前置知识
在学习本教程之前,请确保您已经:
# application.yml
spring:
quartz:
job-store-type: jdbc # 使用JDBC存储
jdbc:
initialize-schema: always # 自动初始化表结构
properties:
org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.tablePrefix: QRTZ_
org.quartz.jobStore.isClustered: false
org.quartz.jobStore.useProperties: true
前置知识
在学习本教程之前,请确保您已经:
@Slf4j
@DisallowConcurrentExecution
public class DatabaseBackupJob implements Job {
@Autowired
private DataSource dataSource;
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
String backupPath = "/backup/" + LocalDate.now().format(DateTimeFormatter.ISO_DATE);
try {
// 执行备份逻辑
performBackup(backupPath);
log.info("Database backup completed: {}", backupPath);
} catch (Exception e) {
log.error("Database backup failed", e);
throw new JobExecutionException(e);
}
}
private void performBackup(String path) {
// 实现具体的备份逻辑
}
}