跳到主要内容

RocketMQ

一、RocketMQ 简介​

1.1 什么是 RocketMQ​

1.2 RocketMQ 的历史​

1.3 RocketMQ 的特点​

  • 高性能
  • 高可用
  • 低延迟
  • 海量堆积
  • 分布式
  • 事务消息

1.4 RocketMQ vs Kafka vs RabbitMQ​

1.5 RocketMQ 应用场景​

二、RocketMQ 核心概念​

2.1 Producer(生产者)​

2.2 Consumer(消费者)​

2.3 NameServer(名称服务器)​

2.4 Broker(代理服务器)​

2.5 Topic(主题)​

2.6 Message Queue(消息队列)​

2.7 Message(消息)​

  • 消息体
  • 消息属性
  • 消息 ID
  • Tag(标签)

2.8 Message Group(消息组)​

2.9 Offset(偏移量)​

三、RocketMQ 架构​

3.1 整体架构​

3.2 部署架构​

3.3 数据存储架构​

3.4 集群架构​

四、RocketMQ 安装部署​

4.1 环境准备​

  • JDK 安装
  • Maven 安装

4.2 源码编译​

4.3 单机部署​

4.4 集群部署​

4.5 Docker 部署​

4.6 配置文件详解​

4.7 启动和停止​

五、RocketMQ 命令行工具​

5.1 Admin Tool​

5.2 MQAdmin 命令​

  • Topic 管理
  • Broker 管理
  • 消息查询
  • 消息发送

六、RocketMQ 生产者​

6.1 生产者工作原理​

6.2 消息发送方式​

  • 同步发送
  • 异步发送
  • 单向发送

6.3 消息类型​

  • 普通消息
  • 顺序消息
  • 延迟消息
  • 事务消息

6.4 发送策略​

  • 轮询策略
  • 最小投入策略
  • 自定义策略

6.5 失败重试​

6.6 批量发送​

七、RocketMQ 消费者​

7.1 消费者模型​

  • Push 消费者
  • Pull 消费者

7.2 消费模式​

  • 集群模式
  • 广播模式

7.3 消费者组​

7.4 消息过滤​

  • Tag 过滤
  • SQL92 过滤

7.5 消息顺序消费​

7.6 消息重试​

7.7 死信队列​

7.8 Offset 管理​

八、RocketMQ 消息类型​

8.1 普通消息​

8.2 顺序消息​

  • 全局顺序
  • 分区顺序

8.3 延迟消息​

  • 延迟级别
  • 使用场景

8.4 事务消息​

  • 事务消息原理
  • 使用场景
  • 实现步骤

8.5 批量消息​

九、RocketMQ 存储机制​

9.1 消息存储​

  • CommitLog
  • ConsumeQueue
  • IndexFile

9.2 存储结构​

9.3 刷盘机制​

  • 同步刷盘
  • 异步刷盘

9.4 主从复制​

  • 同步复制
  • 异步复制

9.5 消息清理​

十、RocketMQ 高可用​

10.1 NameServer 高可用​

10.2 Broker 高可用​

  • Master-Slave 模式
  • 多 Master 模式
  • 多 Master 多 Slave 模式

10.3 读写分离​

10.4 故障切换​

十一、RocketMQ 性能优化​

11.1 Producer 优化​

11.2 Consumer 优化​

11.3 Broker 优化​

11.4 网络优化​

11.5 JVM 优化​

11.6 操作系统优化​

十二、RocketMQ 监控​

12.1 自带监控​

12.2 RocketMQ Console​

12.3 Prometheus 监控​

12.4 监控指标​

12.5 告警配置​

十三、RocketMQ 安全​

13.1 ACL 权限控制​

13.2 TLS 加密​

13.3 访问控制​

十四、RocketMQ 客户端开发​

14.1 Java 客户端​

  • Producer API
  • Consumer API
  • 配置说明

14.2 Spring Boot 集成​

  • 依赖配置
  • 配置类
  • 生产者模板
  • 消费者监听器

14.3 Go 客户端​

14.4 Python 客户端​

十五、RocketMQ 实战案例​

15.1 订单系统​

15.2 日志收集​

15.3 分布式事务​

15.4 削峰填谷​

十六、RocketMQ 最佳实践​

16.1 Topic 设计​

16.2 Tag 设计​

16.3 生产者配置​

16.4 消费者配置​

16.5 集群规划​

十七、RocketMQ 常见问题​

17.1 消息丢失​

17.2 消息重复​

17.3 消息顺序​

17.4 消息积压​

17.5 消费失败​

17.6 性能问题​

十八、RocketMQ 运维​

18.1 日常维护​

18.2 集群扩容​

18.3 数据迁移​

18.4 版本升级​

18.5 故障排查​