
杨开元
本书作者是阿里资深数据专家,对RocketMQ有深入的研究,并有大量的实践经验。在写这本书之前,作者不仅系统、深入地阅读了RocketMQ的源代码,而且还向RocketMQ的官方开发团队深入了解了它的诸多设计细节。作者结合自己多年使用RocketMQ的经验,从开发和运维两个维度,给出了大部分场景下的优秀实践,能帮助读者在学会使用和用好RocketMQ的同时,尽量少“踩坑”。
首先,有一定的收获,不过感觉有点虎头蛇尾,前面讲概念讲原理还可以,后面有凑字数之嫌。 看了官网的文档以及部分源码后,在微信读书上找到了此书。阅读前也问了自己几个问题,希望读完之后有一个大概的答案。 rocketMQ号称高吞吐、低延迟、亿级消息积压、顺序消息、事务消息、简单易用。我就是想了解一下她是怎么做到的? 核心技巧在于~顺序写+索引读+零拷贝+pagecache+各种异步化+多线程+netty+集群+负载均衡。好像各种牛逼的中间件皆如此,不过有些基础的原理知识没有太深入,比如:零拷贝,大概知道是减少拷贝次数来省时间的。 我之前看官网文档没搞清楚,一条消息是怎么从producer传递到broker,broker是怎么存储的,然后又怎么被消费者消费的。讲道理此书应该讲清楚的不过,大概讲了一下,细节依然不是很清楚,感觉和官网资料讲的差不多。 不过也非常感谢微信读书和作者吧! 大概知道,消息的落盘是落到一个文件里去啦!并且此文件的内容是有一定格式的,此文件会不断的顺序写消息(consumerLog),然后在另外一个文件里记录消息的偏移量信息以及消费情况,相当于是一个消息的索引文件(consumerQueue)这里就搞清楚了,为啥消息的落盘和读取快的一个原因啦! 数据存储系统,最核心的就是数据的存储结构,这个决定了此系统的主要特性。 此书对于了解rocketMQ大有帮助,建议阅读,关键也没几本书可供选择[呲牙] 数据的存储逻辑理解了,其他的都好说,可以设想自己也要开发一个MQ中间件,需要高吞吐、低延迟、亿级消息积压,也需要支持顺序消息、事务消息、简单易用。自己该咋弄?当然先从简单的做起或者思考? 比如:就一个producer、broker、consumer或者更简单一点你一个broker,收发消息的客户端先不支持。那核心还是来一条消息怎么快速落盘?然后怎么及时的告知消费者来消费? 落盘要快~异步落盘+顺序写 读盘要快~读索引+在内存中读 然后,为了方便使用,需要提供producer和consumer侧的SDK,为了高可用需要分布式,分布式需要配置中心,那基本架构就出来了producer+broker+consumer+NameServer。后面还是需要围绕消息的存储和读取做文章,怎么吞吐高?怎么延迟低?怎么无限积压?
2020年第4本书,首先要说本书不适合没有任何mq基础的读者阅读。前半部分像api介绍也像理解rocketmq的人的讲解。说了rocketmq的一些点,说得太泛,而又没到重点。比如作者说要设计一个高性能支持高并陉的mq不容易。那么不容易在哪?没说。后半部分的源码大部分只粗粗讲解,看到最后突然结束我都有点愕然,并不推荐阅读。
我用手机看的,deafultmqpush 那块有一些地方核心逻辑代码在手机里是 3 页,对代码的解读是四五行文字,离谱~,那我们为啥不直接研究源码还看这本书🤔
各个章节都蜻蜓点水。刚拿起筷子,盘里忽然就没菜了。
这是一本以API的形式了解RocketMQ的书,有源码解析讲的还可以,适合阅读
在去滴水湖的地铁🚇上把这本书读完了,RocketMQ在阿里内部叫做metaQ,比notify好用了不止一点,核心代码开源后叫做rocketmq,本书看起来比较简单,基本就是罗列源码,自己的见解比较少,不过还是很开眼界,用手机看起来真的很受伤,还是得配合github看源码才有效果
这类书都和字典差不多,先和你讲操作步骤,1234怎么按着来,然后搬源码照着源码讲,先这个后那个。 更多的仅仅是在横向叙述一些事实,缺少了纵向由浅入深的知识递进,让人醍醐灌顶的顶层设计分析,工程上精雕细琢的艺术美感。 虽然有一些顶层设计上的分析,但我觉得还是太少了,太常见了,反复写来写去其实都是一些在博客里被写烂的东西。 或许,我们所谓的“技术”,除去了计算机体系结构这一些基础之后,的确已经所剩无几了。 又或许,对于大型分布式系统简单即是王道,KISS原则永葆青春。 总之,适合初学者,但也仅此而已了。
内容偏基础,难易层次只应对于技术思想层面,技术思想点基本都有提到和阐述,但技术细节和源码细节涉及较少。对刚使用rocketmq但是想接触源码和设计思想的比较适合,但是已经有mq技术思想却想关注细节的技术人员确不是那么的合适。
对于完全不了解 RocketMQ,不熟悉 Java 的我来讲,这是很不错的一本书。这本书可以划分成两个部分,一部分是对 RocketMQ 的介绍,一部分是对部分核心源码的讲解。我觉得内容拆分还是很合理的,用来入门了解和学习,是非常不错的。读完这本书会对 RocketMQ 有个整体的了解,再去看源码,也会对代码整体的脉络结构有个大概的了解。
个人感觉整理得很好,有助于整体了解RocketMQ