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

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

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

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

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

相关推荐
深蓝轨迹4 小时前
Kafka入门教程--帮你理清所有概念和细节
分布式·zookeeper·kafka
小尘要自信4 小时前
Kafka 从原理到实践:分区副本机制、生产消费可靠性、以及如何避开那些年踩过的坑
分布式·kafka
2501_912784084 小时前
TaoCarts 反向海淘架构实战:分布式采集调度与1688高并发代采引擎设计
分布式·架构·跨境电商
czlczl2002092513 小时前
XA分布式事务
分布式
笨手笨脚の17 小时前
分布式系统的本质是什么
分布式
czlczl2002092518 小时前
Zookeeper
分布式·zookeeper·云原生
布吉岛的石头19 小时前
分库分表实战:Sharding-JDBC 快速落地
分布式·mysql
渔民小镇1 天前
4 行代码接入 Spring —— ionet 的生态融合之道
java·服务器·分布式·游戏
苍煜1 天前
Kafka vs RocketMQ 生产环境选型指南
分布式·kafka·rocketmq