rocketmq consumeLog

来源:互联网 发布:微博热门评论排序算法 编辑:程序博客网 时间:2024/06/05 20:29
// CommitLog每个文件大小 1G

    private int mapedFileSizeCommitLog = 1024 * 1024 * 1024;


// CommitLog存储目录
    private String storePathCommitLog = System.getProperty("user.home") + File.separator + "store"
            + File.separator + "commitlog";


MapedFile 内存映射文件

// 映射的文件名
    private final String fileName;

文件名就是fileFromOffset起始偏移量

// 映射的起始偏移量
    private final long fileFromOffset;

// 映射的文件大小,定长
    private final int fileSize;

对于CommitLog,大小就是mapedFileSizeCommitLog=1G

// 当前写到什么位置
    private final AtomicInteger wrotePostion = new AtomicInteger(0);

// Flush到什么位置
    private final AtomicInteger committedPosition = new AtomicInteger(0);


在添加ConsumeLog的时候 会返回一个AppendMessageResult,


msgId 

16个字节 前8个字节是ip+port 后8个字节是 消息对应的物理分区 然后转成16进制,每一个字节转成2个字符 不足后面加一个零

比如 /192.168.0.144:10911 + 转成  C0A800904C6C00B4AAC22BC19BEE0000


0 0
原创粉丝点击