1 个回答
通过offset查找message的步骤如下:
1、根据 offset 的值,查找对应的index 索引文件。由于索引文件命名是以该文件的第一个绝对offset 进行命名的,所以,使用二分查找能够根据offset 快速定位到对应的索引文件。
2、找到index索引文件后,根据相对offset进行定位,找到索引文件中小于等于当前offset对应的相对offset的最大索引,并得到position,即message的物理偏移地址。比如该offset的相对偏移量为100,而索引文件中存在的相对偏移量有(50,80,110),那么最后找到的就是相对偏移量为80的消息的物理偏移地址。
3、得到position以后,再到对应的log文件中,直接从对应position位置开始,查找offset对应的消息,向后依次顺序遍历,将每条消息的offset与目标offset进行比较,直到找到消息。
发布于:1个月前 (02-08) IP属地:四川省
我来回答
您需要 登录 后回答此问题!