rocketmq
wusheng520
这个作者很懒,什么都没留下…
展开
-
rocketMQ源码学习
目录帖,持续更新。消息保存-总述 ------https://blog.csdn.net/wusheng520/article/details/108746538消息保存-消息发送 ------https://blog.csdn.net/wusheng520/article/details/108777217消息保存-消息刷入磁盘 ------https://blog.csdn.net/wusheng520/article/details/108772638...原创 2020-09-25 15:42:05 · 130 阅读 · 0 评论 -
源码基础-核心类
分别列举client、nameserver、broker三个部分的核心类,rocketMQ的功能实现跟这些类密不可分。有时间的话,可以一一弄清楚每个类的具体作用。ClientDefaultMQProducer对于生产消息来说,我们一般接触的第一个类就是它。DefaultMQProducer producer = new DefaultMQProducer(this.groupName);producer.setNamesrvAddr(this.namesrvAddr);producer原创 2020-09-25 15:45:05 · 168 阅读 · 0 评论 -
消息保存-消息发送
我们主要看看生产者在调用了send之后的整个时序:生产者发送消息:broker从网络中读取到消息:原创 2020-09-24 16:29:00 · 530 阅读 · 0 评论 -
消息保存-消息刷入磁盘
消息入盘的基本逻辑都在MappedFile这个类中。根据配置的不同,MappedFile为我们准备了两块不同的缓存。DirectBuffer类型的writeBuffer MappedByteBuffer类型的mappedByteBuffer如果writeBuffer不为空的情况下,优先使用writeBuffer,否则数据将写入到mappedByteBuffer。数据只会写入一块buffer,不会同时写入。首先,我们看看什么情况下会使用writeBuffer。public boolea...原创 2020-09-24 15:08:53 · 304 阅读 · 1 评论 -
消息保存-总述
消息保存的主要逻辑在DefaultMessageStore这个类中。这里先列出关于消息保存的6个要点,这6个点可以看成是整个整个流程的主干,通过了解这些,我们可以知道在消息保存的过程中,rocketmq到底做了些什么。然后围绕这6个要点展开,挖掘其中的细节,达到彻底了解消息保存的整个流程的目的。 public PutMessageResult DefaultMessageStore::putMessage(MessageExtBrokerInner msg) 首先,我们要知道,这整个流程都是.原创 2020-09-23 11:20:23 · 141 阅读 · 0 评论