Kafka——日志存储原理

Kafka底层数据存储设计

topic——>partitions——>segments——>.index&.log

  • Kafka中的消息是以topic为基本单位进行组织和分类;

  • 每个topic分为多个partition,partition是以文件的形式存储在文件系统中,由参数log.dir配置。如创建了名为first_topic的topic,共有3个分区,那么在其数据目录中就会自动创建3个目录:first_topic-0first_topic-1first_topic-2。partition命名规范:topic_name+”-“+partition_id

  • 每个partition又被分为多个大小相等的segment,由参数log.segment.bytes配置,默认1GB。Kafka中写入日志的方式是以顺序追加的方式写入的,当日志文件大小达到一定大小就会做切分,形成一个新的日志文件,这里可以把一个一个的日志文件作为一个日志段。日志段的引入方便了Kafka数据的查询(二分查找)与定位。日志段分为活跃日志段和非活跃日志段,只有活跃日志段(当前日志段,一个分区只可能存在一个)可以被写入和读取,非活跃日志段只能被读取;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值