indexFile文件写入过程分析
2022-04-02 16:49:28 7 举报
rocketmq indexFile文件写入过程
作者其他创作
大纲/内容
Index
20020044
Index(position=1)
slotValue=2
absIndexPos = 40 + (500w * 4) + (1000 * 20) = 20020040
.....
这就是一个indexFile文件的组成
hash
20字节(共2000w个)
pos=0
Slot
slotValue=1
0
slotPos=44
offset
timediff
Slot(500w)
Index(position=0)
假设第一次写入消息后对key取模是这里,存储的值是写入index中的索引,也就是1注意:不是0
Index(position=3)
pos=40
Index(position=2)
slotPos=40
假设第2次写入消息后,判断slot的位置这里,同样的步骤,然后这个slot槽中写入的值是2,也就是index的position=2的位置
3
slotValue=3
......
20020056
slotValue
Index(2000w)
40字节
Header
Index(2000w)
slotPos=52
pos=44
20020052
slotPos=0
每个slot槽中的默认值都是0
Index(position=1
Indexposition=999
slotValue=1000
写入indexFile主要就是在顺序的写入这个(不管slot 对500w取模的结果是什么,但是index总是按顺序写入的)
20020040
4字节(共500w个)
第3次写入消息
2
slotPos=48
第1000次写入消息
假设第一次写入消息后对key取模是这里,存储的值是写入index中的索引,也就是1(注意不是0)
0 条评论
下一页