- 分段文件 + 内存映射(mmap)减少磁盘IO
- 索引文件 跳表结构 (offset --> 物理地址)
- 多副本同步写入 (ISR)
顺序写入: 避免随机IO 分段存储(segment 对应一个 offset 快速定位 清理过期数据) 稀疏索引 直接利用操作系统页缓存 磁盘文件映射到内存
零拷贝传输 : sendfile系统调用,直接将磁盘数据通过DMA传输到网卡
作batch单位传输 将数据写到页缓存,操作系统异步刷盘 flush.internal.ms 控制刷盘频率
:ELK日志系统:
按时间和bytes大小删除过期segment 故障容错和恢复 Checksum 校验:每条消息包含 CRC32 校验码,防止数据损坏。 恢复日志(Recovery Log):Broker 重启时通过读取 Segment 文件和索引重建状态,而非依赖外部数据库。 可借鉴点 自包含存储:将元数据与数据统一存储(如将索引与数据文件绑定),避免外部依赖。 数据完整性:在关键路径添加校验机制(如网络传输、持久化存储)。 内存池化 减少GC垃圾回收压力 事件驱动模型 : FileChannel.mmap 频繁读写时 将文件映射到内存