日志格式

有点想 rpc 的自定义协议,这不一样的么。。。

消息常见字段:格式类型,消息长度,时间戳,版本号等这些类似与消息头,所谓消息体就是真正要传输的数据。

不知道MySQL 存数据时有没有压缩。。。kafka 生产消息时,使用了压缩,比如常见的 gzip等。

变长字段?zigzig 和varint算法

Untitled

Untitled

上面是16进制的,和定义中的字段一一对应。

Untitled

其中使用 varint 大大减少了消息大小。

*.log 记录的是数据信息recordBatch

*.index 是偏移量索引,根据偏移量去物理地址拿数据。