一帆磨砺

生活所迫,一叶孤舟

0%

一书一图-《RocketMQ技术内幕》第2版

引用链接

  1. RocketMQ定时消息实现原理分析:时序图
  2. RocketMQ 实战(四) - 订阅机制和定时消息:关于correctDeliverTimestamp的理解
  3. 深入了解 RocketMQ 之过滤器:BloomFilter
  4. Bloom Filter概念和原理:BloomFilter
  5. Filter Messages By SQL92 In RocketMQ
  6. RocketMQ源码 — 七、 RocketMQ高可用(2):主从同步时序图

写在开头

  1. 本书存在较多的错误,主要问题是代码片段与文字描述的衔接对不上,并且存在少量的代码注释错误(可能是我看的代码分支与作者看的分支版本不同导致理解产生偏差),但是不能否认这本书的价值,尤其是一些关键地方的逻辑描述,能够帮助减少很多源码阅读理解的时间
  2. 建议以源码阅读为主,如果已经买了,可以同步对照书籍中的文字描述确认自己理解是否正确
  3. 个人已上传RocketMQ(release-4.9.4)DLedger(tag:dledger-0.2.6)带注释版本,部分核心入口已在工程的 ReadME 文档中标注
  4. 建议提前熟悉多线程编码以及异步编码(如Future),其中异步编码建议多练习,在RocketMQ和Dledger中使用较多,如果未能掌握该知识点,则会较难理解整体的流程
  5. 需要提前学习Netty相关知识,最少也要熟悉Socket编码,未开启DLedger时的主从同步主要依靠Socket解决,真应该提前学下Netty的,HAService那块的主从同步,大体流程懂了,可通信的代码没看懂(因为没用过….2333),估计后面学了Netty就懂了
  6. 关键点:NameServer路由管理、消息发送(客户端、Broker端)、消息存储(刷盘、主从同步)、消息消费(客户端、Broker端)、ACL控制、消息轨迹、主从切换(DLedger)
  7. 下方思维导图仅可用作个人回顾,无法作为学习材料(不成系统,仅仅是记录了源码阅读总结,其中DLedger部分的流程图主要参考书中对应流程图)
  8. 发现源码阅读不适合弄思维导图,流程图和时序图时非常合适作为源码阅读的总结,以后不再把代码的细节放到思维导图里了,以后估计是概述+一些关键点描述,然后加上流程图和时序图(本质上是最近几本书的阅读体验产生的总结,阅读源码有个大致的概念,知道大体的框架就可以开始阅读了,把源码的细节展示出来反而会增加理解难度)

欢迎关注我的其它发布渠道