Kafka是什么
1.前言一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。
2.Kafka文件存储机制Kafka部分名词解释如下:
分析过程分为以下4个步骤:
通过上述4过程详细分析,我们就可以清楚认识到kafka文件存储机制的奥秘。 2.1 topic中partition存储分布假设实验环境中Kafka集群只有一个broker,**/message-folder为数据文件存储根目录,在Kafka broker中server.properties文件配置(参数log.dirs=**/message-folder),例如创建2个topic名称分别为report_push、launch_info, partitions数量都为partitions=4
在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称 有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。
2.2 partiton中文件存储方式下面示意图形象说明了partition中文件存储方式:
这样做的好处就是能快速删除无用文件,有效提高磁盘利用率。 2.3 partiton中segment文件存储结构读者从2.2节了解到Kafka文件系统partition存储方式,本节深入分析partion中segment file组成和物理结构。
下面文件列表是笔者在Kafka broker上做的一个实验,创建一个topic**包含1 partition,设置每个segment大小为500MB,并启动producer向Kafka broker写入大量数据,如下图2所示segment文件列表形象说明了上述2个规则: 以上述图2中一对segment file文件为例,说明segment中index |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|