因为有高可用的需求,所以要进行持久化存储
- 消息存储
顺序写保证存储速度,是随机写的6000倍
- 消息发送
使用零拷贝,省去内核态到用户态的转化,使用了零拷贝技术,底层使用MappedByteBuffer的api技术
- 消息存储结构
- commitlog存储消息的元数据
- consumerQueue存储消息在commitlog的索引
- indexfile存储通过key或时间查询消息的办法,不影响主流程
- 刷盘机制
由安全性和性能决定使用同步刷盘或异步刷盘
因为有高可用的需求,所以要进行持久化存储
顺序写保证存储速度,是随机写的6000倍
使用零拷贝,省去内核态到用户态的转化,使用了零拷贝技术,底层使用MappedByteBuffer的api技术
由安全性和性能决定使用同步刷盘或异步刷盘