kafka:的日志寻址机制:
一个topic由多个partition组成
一个partition里面有多个segment文件段
一个segment里面有两个文件
.log文件:存放日志数据的文件
.index文件:索引文件
每当.log文件达到1GB的时候,就会产生一个新的segment
*下一个segment的文件名字,是上一个segment文件最后一条数据的offset值
那么可以使使用二分查找法来查找数据的offset究竟在哪一个segment段里面
如果确定了数据的offset在第一个segment里面,怎么继续快速找到是哪一行数据
.index文件里面存放了一些数据索引值,不会将.log文件里面每一条数据都进行索引,每过一段就索引一次,减少索引文件大小
kafka的log的寻址机制(掌握)
1.第一步:使用折半查找,找数据属于哪一个segment段
2.第二步:通过.index文件来查找数据究竟对应哪一条数据
segment段的命名规则:
下一个segment起始的数据name值,,是上一个segment文件最后一条数据的offset值