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