Kafka中文件存储格式

本文详细介绍了Kafka中topic的partition文件存储设计,包括文件段划分、索引优化和磁盘操作策略。Kafka将大文件拆分为小段,通过索引快速定位消息,利用内存映射减少磁盘IO,并采用零拷贝技术提高效率。每个partition包含.log、.index和.timeindex文件,用于存储数据、索引和时间戳索引。文章还提及了其他辅助文件如.deleted和.cleaned的作用。
摘要由CSDN通过智能技术生成

Kafka高效文件存储设计特点:
1、Kafka把topic中一个parition大文件分成多个小文件段,通过多个小文件段,就容易定期清除或删除已经消费完文件,减少磁盘占用。
2、通过索引信息可以快速定位message和确定response的最大大小。
3、通过index元数据全部映射到memory,可以避免segment file的IO磁盘操作。
4、通过索引文件稀疏存储,可以大幅降低index文件元数据占用空间大小。
5、零拷贝技术的使用。
Kafka部分名词解释如下:

Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。

Topic:一类消息,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。

Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。

Segment:partition物理上由多个segment组成。

offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset,用于partition唯一标识一条消息。
文件存储架构
在这里插入图片描述
首先,topic建立时&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值