全网首发,纯手打“RocketMQ 笔记”,帮你解决 95% 以上的问题!
消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。
6 月初偶然从朋友那里得到一份纯手打“RocketMQ 笔记”(貌似全网都没有这份学习笔记,中大奖了,哈哈哈),花了十天时间刷了第一遍,感觉挺不错的,今天拿出来献个宝。全网首发,纯手打“RocketMQ 笔记”,帮你解决 95%以上的问题!
注意:这份纯手打“RocketMQ 笔记”,有百来页,一篇文章只够介绍大概的内容,更多的细节无法全部展示出来,但 完整的原件 已整理在此!
纯手打“RocketMQ 笔记”
第一节:RocketMQ 介绍
1.1 核心概念(主题、生产者、消费者、消息)
1.2 RocketMQ 的设计理念和目标(设计理念、设计目标)
第二节:RocketMQ 中消息的发送
2.1 单向[OneWay]发送(代码演示、Producer Group、Producer 实例、Message Key、Tag)
2.2 可靠同步发送(代码演示、Message ID、SendStatus、Queue)
2.3 可靠异步发送(代码演示)
2.4 RocketMQ 中消息发送的权衡
第三节:RocketMQ 消息消费
3.1 集群消息和广播消费(基本概念)
3.2 场景对比(集群消息模式、广播消息模式、使用集群模式模拟广播)
3.3 消费方式(推模式、拉模式)
第四节:深入消息发送
4.1 消息生产者流程
4.2 批量消息发送
4.3 消息重试机制(规避原则)
第五节:深入消息模式
5.1 拉模式
5.2 推模式(长轮询、流量控制、消息队列负载与重新分布机制、消息确认、消息进度存储、推模式总结)
第六节:顺序消息
6.1 全局顺序消息(适用场景、示例)
6.2 部分顺序消息
第七节:延时消息
7.1 概念介绍
7.2 适用场景
7.3 使用方式
第八节:死信队列
8.1 概念介绍
8.2 适用场景(死信消息的特性、死信队列的特性)
第九节:消费幂等
9.1 什么是消费幂等
9.2 需要处理的场景
9.3 处理方法
第十节:消息过滤
10.1 概念介绍
10.2 表达式过滤
10.3 类过滤
第十一节:RocketMQ 存储结构概要设计
11.1 消息存储结构(CommitLog、ConsumeQueue、IndexFile、Config、其他)
11.2 内存映射
11.3 文件刷盘机制(异步刷盘方式、同步刷盘方式、总结)
11.4 过期文件删除(过期判断、删除条件)
第十二节:RocketMQ 中的事务消息
12.1 事务消息实现思想
12.2 两阶段提交
12.3 事务状态回查机制
12.4 代码实现
第十三节:RocketMQ 主从同步(HA)机制
13.1 RocketMQ 集群部署模式(集群部署模式:单 master 模式、多 master 模式、多 master 多 Slave 异步复制模式、多 master 多 slave 同步双写模式、多主模式与数据重复;安装部署过程)
13.2 主从复制原理
13.3 读写分离机制
13.4 与 Spring 集成(Pom 文件、生产者、消费者)
13.5 与 SpringBoot 集成
第 14 节:限时订单实战
14.1 什么是限时订单
14.2 如何实现限时订单(限时订单的流程、限时订单实现的关键、轮询数据库、Java 本身的提供的解决方案、从系统可用性角度考虑、从系统伸缩性角度考虑)
14.3 用 RocketMQ 实现限时订单(延时消息:概念介绍、适用场景;核心的代码部分)
第十五节:RocketMQ 源码分析
15.1 RocketMQ 整体架构
15.2 NameServer
15.3 RocketMQ 服务启动
15.4 源码分析之消息的来龙去脉(消息的生产:Client 中的消息发送、Broker 中消息的生产、Broker 中更新消息队列和索引文件;消息的消费:Client 中的消息者启动流程、消息的拉取、消息的消费)
都提到 RocketMQ,不得不再来聊聊 RabbitMQ
先上一张 RabbitMQ 的手绘路线图(xmind)
再来一份“RabbitMQ 实战指南”
目录
点到为止
篇幅有限,点到为止,不然怎么都讲不完了,不论是最开始的[纯手打“RocketMQ 笔记”]还是最后聊的[RabbitMQ:手绘路线大纲+实战指南]皆可提供原件~
关注一下: 完整原件在此,请戳
评论 (1 条评论)