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

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

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

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

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

相关推荐
梅头脑3 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
霸道流氓气质5 小时前
分布式系统中接口时序不确定性处理
java·开发语言·分布式
YOU OU7 小时前
Redis分布式锁
数据库·redis·分布式
小罗水9 小时前
第9章 RabbitMQ 消息队列与索引任务
分布式·rabbitmq
剧号9 小时前
互联网大厂Java面试全解析:Java SE 11, Spring Boot及微服务实战问答
java·微服务·面试·kafka·kubernetes·springboot·分布式系统
naierfengdian10 小时前
分布式风力发电机机抗风扰、稳发电结构设计技术解析
分布式·能源
wWYy.20 小时前
基于Raft分布式Kv存储:sendRequestVote
分布式
笨鸟先飞的橘猫1 天前
游戏后端分布式学习——消息队列在游戏的用法
分布式·学习·游戏
Wang's Blog1 天前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
wWYy.1 天前
基于Raft分布式Kv存储:sendAppendEntries
分布式