【kafka】kafka消费策略 & kafka存储机制 & segment file & 稀疏存储

本文探讨了Kafka的消费策略,指出在消费者组内,同一时间一个线程只能消费一个分区数据,而不同消费者组可以并行消费同一分区。详细解析了Kafka的存储机制,包括Partition的文件存储、Segment文件的特点和稀疏存储的原理,强调了通过索引文件可以快速定位消息,以及稀疏存储的优点。最后总结了Kafka如何通过文件段管理和索引优化磁盘占用和提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

这篇写了kafka的几个比较复杂的特性

kafka消费策略

在这里插入图片描述
结论:

  1. 在同一个消费者组中,不同的线程在同一时间不能够处理同一分区中的数据,也就是说在同一时间一个线程只能消费一个分区数据

  2. 在不同的消费者里面,不同的线程在同一时间可以消费同一分区中的数据

  3. 多个线程在消费数据的时候,只能够保证每一个分区内部有序(按照数据进入的先后),而全局是没有顺序的

可以极端一点,只设置一个分区,那么就保证全局有序,这个时候只有一个分区,跟对应kafka分布式框架理念相违背

kafka存储机制

Partition是以文件的形式存储在文件系统中,
比如,创建了一个名为 kafkatest 的topic,其有3个partition,那么在Kafka的数据目录中(由配置文件中的log.dirs指定的)中就会有这样3个目录: kafkatest-0,kafkatest-1,kafkatest-2,其命名规则为<topic_name>-<partition_id>,里面存储的分别就是这3个partition的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值