随笔分类 -  RocketMQ

摘要:概览 RocketMQ 主从同步指的是消息发送到master的内存中,并且等到同步到slaver的内存才返回; 刷盘则是将内存中的消息写入磁盘,同样分为同步刷盘和异步刷盘。同步刷盘指一条消息写入磁盘才返回成功,异步刷盘指写入内存就返回成功,稍后异步线程刷盘。 上文说到消息append后会返回一个状态 阅读全文
posted @ 2023-01-08 19:41 风卷红旗过大江 阅读(341) 评论(0) 推荐(0) 编辑
摘要:第一篇介绍了存储的概览,定位到消息追加消息处细看一下 获取mappedFile ——> 追加消息 ——> 处理结果 @DefaultMappedFile#appendMsgInner() public AppendMessageResult appendMessagesInner(final Mes 阅读全文
posted @ 2023-01-05 21:35 风卷红旗过大江 阅读(54) 评论(0) 推荐(0) 编辑
摘要:这篇文章介绍在RocketMQ存储中使用到的一些概念,包括和零拷贝相关的MappedFile 看下MappedFile的类图结构,DefaultMappedFile实现了MappedFile接口,同时继承了ReferenceResource类,这个类中实现了统计mappedFile的引用次数及释放等 阅读全文
posted @ 2023-01-04 15:19 风卷红旗过大江 阅读(281) 评论(0) 推荐(0) 编辑
摘要:这篇文章记录RocketMQ大致的存储流程,源码为5.0.1-SNAPSHOT 入口从Broker模块的SendMessageProcessor开始 @SendMessageProcessor#sendMessage() 5.0中将putmessage中的一些校验逻辑下沉到了hook中 for (P 阅读全文
posted @ 2022-12-31 23:55 风卷红旗过大江 阅读(39) 评论(0) 推荐(0) 编辑
摘要:概述 消息的消费是一个先从Broke拉到client端,再consume的过程 客户端有一个PullMessageService线程拉取消息,然后把消息放到缓存中(红黑树结构),然后启动 ConsumeMessageService线程消费这些消息,这个过程会使用Consumer启动时注册的Liste 阅读全文
posted @ 2022-03-26 23:58 风卷红旗过大江 阅读(333) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示