✅RocketMQ 概念篇 - 目录
2025/10/25大约 20 分钟
✅RocketMQ 概念篇 - 目录
- 01-一个真实电商订单系统的整体架构、业务流程及负载情况.md
- 02-授人以渔:能概括一下你们系统的架构设计、业务流程以及负载情况吗.md
- 03-系统面临的现实问题:下订单的同时还要发券、发红包、Push推送,性能太差.md
- 04-授人以渔:你们系统的核心流程性能如何,有没有哪个环节拖慢了速度.md
- 05-系统面临的现实问题:订单退款时经常流程失败,无法完成退款.md
- 06-授人以渔:你们系统出现过核心流程链路失败的情况吗.md
- 07-系统面临的现实问题:第三方客户系统的对接耦合性太高,经常出问题.md
- 08-授人以渔:你们有没有跟第三方系统对接过,有遇到什么问题吗.md
- 09-系统面临的现实问题:大数据团队需要订单数据,该怎么办.md
- 10-授人以渔:你们有没有遇到过自己系统的数据,其他团队需要获取的.md
- 11-系统面临的现实问题:秒杀活动时数据库压力太大,该怎么缓解.md
- 12-授人以渔:你们系统会不会遇到流量洪峰的场景,导致瞬时压力过大.md
- 13-阶段性复习:一张思维导图给你梳理高并发订单系统面临的技术痛点.md
- 14-阶段性复习:放大100倍压力,也要找出你系统的技术挑战.md
- 15-解决订单系统诸多问题的核心技术:消息中间件到底是什么.md
- 16-授人以渔:结合自己的系统问题思考一下,MQ有什么用处.md
- 17-领导的要求:你来对 Kafka、RabbitMQ 以及 RocketMQ 进行技术选型调研.md
- 18-授人以渔:你们公司主要使用的 MQ 是哪种?为什么要选用它.md
- 19-新技术引入:给团队分享RocketMQ的架构原理和使用方式.md
- 20-授人以渔:结合你对其他MQ的了解,思考RocketMQ的设计有何特点.md
- 21-设计生产架构之前的功课:消息中间件路由中心的架构原理是什么.md
- 22-授人以渔:要是没有这个路由中心,消息中间件可以正常运作么.md
- 23-设计生产架构之前的功课:Broker的主从架构原理是什么.md
- 24-授人以渔:Broker主从同步有没有数据不一致问题.md
- 25-落地第一步:设计一套高可用的消息中间件生产部署架构.md
- 26-授人以渔:你们公司的消息中间件生产环境如何部署的.md
- 27-部署一个小规模的RocketMQ集群,为压测做好准备.md
- 28-授人以渔:动手完成一个小规模的RocketMQ集群的部署进行练习.md
- 29-生产运维:如何对RocketMQ集群进行可视化的监控和管理.md
- 30-授人以渔:你们公司的MQ集群是如何进行监控和管理的.md
- 31-RocketMQ生产集群准备:进行OS内核参数和JVM参数的调整.md
- 32-授人以渔:你们公司的MQ集群是如何配置生产参数的.md
- 33-对小规模RocketMQ集群进行压测,同时为生产集群进行规划.md
- 34-授人以渔:你们公司的MQ集群做过压测吗?生产集群是如何规划的.md
- 35-阶段性复习:一张思维导图给你梳理消息中间件集群生产部署架构规划.md
- 36-阶段性复习:按照你们公司的真实负载,设计消息中间件集群生产架构.md
- 37-基于MQ实现订单系统的核心流程异步化改造,性能优化完成.md
- 38-授人以渔:如果在你们系统的核心流程引入MQ,应该如何改造系统.md
- 39-基于MQ实现订单系统的第三方系统异步对接改造,解耦架构完成.md
- 40-授人以渔:如果你们系统要对接第三方系统,应该如何设计.md
- 41-基于MQ实现订单数据同步给大数据团队,应该如何设计.md
- 42-授人以渔:对其他团队要获取你们核心数据的问题,应该如何解决.md
- 43-秒杀系统的技术难点以及秒杀商品详情页系统的架构设计.md
- 44-授人以渔:你们有没有类似秒杀的业务场景?如果没有,自己想一个出来.md
- 45-基于MQ实现秒杀订单系统的异步化架构以及精准扣减库存的技术方案.md
- 46-授人以渔:如果你们有类似秒杀的瞬时高并发场景,应该如何改造.md
- 47-阶段性复习:一张思维导图给你梳理全面引入MQ的订单系统架构.md
- 48-阶段性复习:思考一下,如果你们系统全面接入MQ,架构该如何设计.md
- 49-精益求精:深入研究一下生产者到底如何发送消息的.md
- 50-授人以渔:Kafka、RabbitMQ有类似MessageQueue的数据分片机制吗.md
- 51-精益求精:深入研究一下Broker是如何持久化存储消息的.md
- 52-授人以渔:同步刷盘和异步刷盘分别适用于什么场景呢.md
- 53-精益求精:基于DLedger技术的Broker主从同步原理到底是什么.md
- 54-授人以渔:采用Raft协议进行主从数据同步,会影响TPS吗.md
- 55-精益求精:深入研究一下消费者是如何获取消息处理以及进行ACK的.md
- 56-授人以渔:消费者到底什么时候可以认为是处理完消息了.md
- 57-精益求精:消费者到底是根据什么策略从Master或Slave上拉取消息的.md
- 58-授人以渔:消费者是跟所有Broker建立连接,还是跟部分Broker建立连接.md
- 59-探秘黑科技:RocketMQ 是如何基于Netty扩展出高性能网络通信架构的.md
- 60-授人以渔:BIO、NIO、AIO以及Netty之间的关系是什么.md
- 61-探秘黑科技:基于mmap内存映射实现磁盘文件的高性能读写.md
- 62-授人以渔:思考一个小问题,Java工程师真的只会Java就可以了吗.md
- 63-抛砖引玉:通过本专栏的大白话讲解之后,再去深入阅读一些书籍和源码.md
- 64-授人以渔:一个学习方法的探讨,如何深入研究一个技术.md
- 65-阶段性复习:一张思维导图带你梳理 RocketMQ 的底层实现原理.md
- 66-阶段性复习:在深度了解RocketMQ底层原理的基础之上,多一些主动思考.md
- 67-生产案例:从 RocketMQ 全链路分析一下为什么用户支付后没收到红包.md
- 68-发送消息零丢失方案:RocketMQ事务消息的实现流程分析.md
- 69-RocketMQ黑科技解密:事务消息机制的底层实现原理.md
- 70-为什么解决发送消息零丢失方案,一定要使用事务消息方案.md
- 71-用支付后发红包的案例场景,分析RocketMQ事物消息的代码实现细节.md
- 72-Broker消息零丢失方案:同步刷盘 + Raft协议主从同步.md
- 73-Consumer消息零丢失方案:手动提交offset + 自动故障转移.md
- 74-基于 RocketMQ 设计的全链路消息零丢失方案总结.md
- 75-生产案例:从RocketMQ底层原理分析为什么会重复发优惠券.md
- 76-对订单系统核心流程引入幂等性机制,保证数据不会重复.md
- 77-如果优惠券系统的数据库宕机,如何用死信队列解决这种异常场景.md
- 78-生产案例:为什么基于RocketMQ进行订单库数据同步时会消息乱序.md
- 79-在RocketMQ中,如何解决订单数据库同步的消息乱序问题.md
- 80-基于订单数据库同步场景,来分析RocketMQ的顺序消息机制的代码实现.md
- 81-如何基于RocketMQ的数据过滤机制,提升订单数据库同步的处理效率.md
- 82-生产案例:基于延迟消息机制优化大量订单的定时退款扫描问题.md
- 83-基于订单定时退款场景,来分析RocketMQ的延迟消息的代码实现.md
- 84-在RocketMQ的生产实践中积累的各种一手经验总结.md
- 85-企业级的RocketMQ集群如何进行权限机制的控制.md
- 86-如何对线上生产环境的RocketMQ集群进行消息轨迹的追踪.md
- 87-由于消费系统故障导致的RocketMQ百万消息积压问题,应该如何处理.md
- 88-金融级的系统如何针对RocketMQ集群崩溃设计高可用方案.md
- 89-为什么要给RocketMQ增加消息限流功能保证其高可用性.md
- 90-设计一套Kafka到RocketMQ的双写+双读技术方案,实现无缝迁移.md
- 91-如何从Github拉取RocketMQ源码以及导入Intellij IDEA中.md
- 92-如何在Intellij IDEA中启动NameServer以及本地调试源码.md
- 93-如何在Intellij IDEA中启动Broker以及本地调试源码.md
- 94-如何基于本地运行的RocketMQ进行消息的生产与消费.md
- 95-源码分析的起点:从NameServer的启动脚本开始讲起.md
- 96-NameServer在启动的时候都会解析哪些配置信息.md
- 97-NameServer是如何初始化基于Netty的网络通信架构的.md
- 98-NameServer最终是如何启动Netty网络通信服务器的.md
- 99-Broker启动的时候是如何初始化自己的核心配置的.md
- 100-BrokerController是如何构建出来的,以及他包含了哪些组件.md
- 101-在初始化BrokerController的时候,都干了哪些事情.md
- 102-BrokerContorller在启动的时候,都干了哪些事儿.md
- 103-第三个场景驱动:Broker是如何把自己注册到NameServer去的.md
- 104-深入探索BrokerOuter API是如何发送注册请求的.md
- 105-NameServer是如何处理Broker的注册请求的.md
- 106-Broker是如何发送定时心跳的,以及如何进行故障感知.md
- 107-我们系统中使用的Producer是如何创建出来的.md
- 108-构建好的Producer是如何启动准备好相关资源的.md
- 109-当我们发送消息的时候,是如何从NameServer拉取Topic元数据的.md
- 110-对于一条消息,Producer是如何选择MessageQueue去发送的.md
- 111-我们的系统与RocketMQ Broker之间是如何进行网络通信的.md
- 112-当Broker获取到一条消息之后,他是如何存储这条消息的.md
- 113-一条消息写入CommitLog文件之后,如何实时更新索引文件.md
- 114-RocketMQ是如何实现同步刷盘以及异步刷盘两种策略的.md
- 115-当Broker上的数据存储超过一定时间之后,磁盘数据是如何清理的.md
- 116-我们系统中的Consumer作为消费者是如何创建出来的.md
- 117-一个消费组中的多个Consumer是如何均匀分配消息队列的.md
- 118-Consumer是如何从Broker上拉取一批消息过来处理的.md
- 119-专栏结束语:你从消息中间件专栏中学到了什么,如何运用到面试中去.md