Kafka 消息查找流程和消息读取流程

消息在kafka当中最终存放在一个一个的segment当中,而segment由两个部分组成,一个是log文件,一个是index文件。

如果消费者需要查找指定的指定的offset这样的消息,那么是怎么查找消息的?

如果查找的消息是23067,那么偏移量出来得到7,很显然7不在index里面,那么找到比它小的,那就是6,那么就可以定位到第六条消息的位置,而每个消息的头部都是记录着大小,可以叠加大小就可以找到之后的信息。

如果在segment中快速定位到消息?先通过segment的名字定位segment file,在哪个文件当中。之后再去index文件当中找物理偏移量,物理地址,找到之后再往下顺序读取就行了。

相关推荐
何以解忧,唯有..8 小时前
Redisson分布式锁实现原理深度解析
分布式
萧瑟余晖9 小时前
Java深入解析篇三十六之分布式系统详解
java·开发语言·分布式
cc复CC13 小时前
从零开始手写 Spark 03|RDD 的惰性流水线
分布式
cc复CC14 小时前
从零开始手写 Spark 02|数据流与延迟迭代
大数据·分布式
海兰14 小时前
【Kafka学习3】Apache Kafka 本地部署环境快速入门指南
学习·kafka·apache
七夜zippoe15 小时前
基于 DolphinDB 构建分布式集群:从节点配置到高可用部署的完整实践
分布式·集群·dolphindb·节点配置·高可用部署
渣渣盟15 小时前
Flink + Kafka 数据写入实战:从API调用到端到端一致性精讲
flink·kafka·linq
Acrellea16 小时前
并网验收难破局:分布式光伏如何攻克孤岛、逆流两大技术关卡
分布式
海兰16 小时前
【Kafka学习2】Apache Kafka 典型应用场景
学习·kafka·apache
heimeiyingwang16 小时前
【架构实战】消息队列选型与异步架构设计:从Kafka到RabbitMQ,一次聊透
架构·kafka·rabbitmq