美文网首页
store逻辑概述(待更新)

store逻辑概述(待更新)

作者: 赤子心_d709 | 来源:发表于2017-09-25 19:28 被阅读86次

综合UML图

我发现idea能直接把一个包展开,删掉test类,最终如下,真多东西(似乎本地放大是高清的)


diagram.png

后面store模块按照上图进行各类讲解

TransientStorePool:池化管理多个ByteBuffer对象,进行借与还的操作
AppendMessageStatus 与 AppendMessageResult:描述追加消息到MappedFile的结果,状态
PutMessageStatus 与 PutMessageResult:描述存放消息到日志的结果,状态(理解为上面Append的上层)
FlushDiskType:代表同步刷盘或者异步刷盘
AppendMessageCallback:写消息的接口,返回AppendMessageResult代表追加到MappedFile的结果
ReferenceResource:MappedFile父类,用于记录引用次数,提供'增加引用',‘减少引用’,shutdown操作
SelectMappedBufferResult:描述选取MappedFile中,一部分ByteBuffer 的结果

结构

结构

文件树

结构如下


文件树

刷盘策略

refer

http://blog.csdn.net/meilong_whpu/article/details/76922182
https://github.com/YunaiV/Blog/blob/master/RocketMQ/1004-RocketMQ%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90%EF%BC%9AMessage%E5%AD%98%E5%82%A8.md
https://fdx321.github.io/2017/08/22/%E3%80%90RocketMQ%E6%BA%90%E7%A0%81%E5%AD%A6%E4%B9%A0%E3%80%916-%E6%B6%88%E6%81%AF%E5%AD%98%E5%82%A8/
http://www.voidcn.com/article/p-aevitnds-bhg.html
https://github.com/YunaiV/Blog/blob/master/RocketMQ/1009-RocketMQ%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90%EF%BC%9A%E9%AB%98%E5%8F%AF%E7%94%A8.md
http://blog.csdn.net/KilluaZoldyck/article/details/76775397

问题

最后存在commitLog中的文件格式是怎样的

相关文章

网友评论

      本文标题:store逻辑概述(待更新)

      本文链接:https://www.haomeiwen.com/subject/mhddextx.html