kafka的消息存储?

发布于 2020-05-19 18:13:15
关注者
0
被浏览
599
1 个回答
  • 面试哥
    面试哥 2020-05-19
    为面试而生,有面试问题,就找面试哥。

    kafka的消息存储在磁盘上,一个kafka topic分为一个或多个partition,每个partition单独存储自己的消息数据

    partition将数据记录到.log文件中,为了避免文件过大影响查询效率,将文件分段处理

    记录消息到.log文件中的同时,会记录消息offset和物理偏移地址的映射作为索引,提升查找性能;

    这个索引并不是按消息的顺序依次记录的,而是每隔一定字节的数据记录一条索引,降低了索引文件的大小

    kafka查找消息时,只需要根据文件名和offset进行二分查找,找到对应的日志分段后,查找.index文件找到物理偏移地址,然后查.log读取消息内容

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看