kafka查找数据的过程

一.kafka查找数据:

kafka里面一个topic有多个partition组成,每一个partition里面有多个segment组成,每个segment都由两部分组成,分别是.log文件和.index文件 。一旦.log文件达到1GB的时候,就会生成一个新的segment

.log文件:顺序的保存了我们的写入的数据

.index文件:索引文件,使用索引文件,加快kafka数据的查找速度

总结:查找数据的过程:

第一步:通过offset确定数据保存在哪一个segment里面了,

第二部:查找对应的segment里面的index文件 。index文件都是key/value对的。key表示数据在log文件里面的顺序是第几条。value记录了这一条数据在全局的标号。如果能够直接找到对应的offset直接去获取对应的数据即可

如果index文件里面没有存储offset,就会查找offset最近的那一个offset,例如查找offset为7的数据找不到,那么就会去查找offset为6对应的数据,找到之后,再取下一条数据就是offset为7的数据

 

二.kafka的offset查找过程:

三.kafka Message的物理结构及介绍:


版权声明:本文为qq_40233706原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。