rocketmq源码解析
文章平均质量分 88
以自身理解,阐述rocketmq四大组件的协同原理
ps:随时更新自己的理解
每天的每一天
这个作者很懒,什么都没留下…
展开
-
RocketMQ源码级实现原理-内存映射
而之后访问数据时发现内存中并无数据而发起的缺页异常过程,可以通过已经建立好的映射关系,只使用一次数据拷贝,就从磁盘中将数据传入内存的用户空间中,供进程使用。36行代码,是释放内存映射的这片虚拟地址空间(删除这段内存映射,也就是从页表中把这段映射删除),否则当前进程的别的线程,就不能再使用这片虚拟地址空间了。可以看到第33行,就在使用指针的方式,来操作这片虚拟内存,因为是mmap映射下的这片内存,所以操作了这片虚拟地址空间,那么对应的磁盘文件也会被修改。原创 2024-07-18 21:23:25 · 888 阅读 · 0 评论 -
RocketMQ源码级实现原理-存储系统概要设计
存储逻辑层,比如CommitLog类中出了对外暴露putMessage()的接口外,还需要提供一些内部类,比如FlushRealTimeService这类的刷盘线程逻辑。1. ConsumeQueue里面放的是一个个索引条目,索引条目有三个字段:CommitLogOffSet ,MessageSize、TagHashCode。文件写入速度,顺序读写 3g/s左右,随机读写2g/s左右(内存条的读写速度是10个g左右)一个好的文件系统,它的性能肯定是要优于分布式KV和newSQL;原创 2024-07-16 23:39:54 · 199 阅读 · 0 评论 -
RocketMQ源码级实现原理-消息发送流程与高可用设计
如果本地缓存中没有找到topic路由信息,则发送远程请求去nameserver中查找当前topic对应的路由信息,查找到了则直接选择topic下的一个queue发送消息。一般,一台物理机上只会有一个MQClientInstance实例,一个MQClientInstance实例中保存了不同的producerGroup的producer,也保存了不同consumerGroup的consumer。RocketMQ的一个好的实践:命令细化,每个功能都有一个唯一的命令与之对应。1. 236行启动了很多的定时任务。原创 2024-07-15 20:57:10 · 175 阅读 · 0 评论 -
13-RocketMQ主从同步(HA实现)源码原理
一天。原创 2023-09-10 21:45:42 · 290 阅读 · 0 评论 -
RocketMQ源码级实现原理
RocketMQ实现原理笔记原创 2022-11-02 11:54:54 · 261 阅读 · 0 评论 -
RocketMQ应用篇
topic和queue的关系:Queue是组成Topic的更小单元原创 2021-09-23 17:47:31 · 452 阅读 · 0 评论