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

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

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

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

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

相关推荐
用户3610588626123 小时前
KafkaProducer 元数据管理:send() 卡住时,它在等什么
kafka
方方洛3 小时前
ray教程-28-附录G-CICD与Slurm与云上调度
人工智能·分布式·机器学习
空奈qwq6 小时前
【Kafka 从入门到实战】从手写一个队列到生产级消息中间件:架构、分区、消费组、零拷贝全解析
分布式·架构·kafka
山甫aa1 天前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
严肃小白兔2 天前
Cloudflare Durable Objects 支持自动重试:分布式调用如何避免重复执行?
分布式
用户3610588626122 天前
深度拆解 Kafka 源码:Producer 构造器装配了哪些核心组件
kafka
方方洛2 天前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
知识搬运临时工3 天前
Kafka 发 1 GiB 数据,用户态 CPU 只花 0.016 秒,总耗时反而慢了 11%
后端·kafka
方方洛3 天前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习