华人澳洲中文论坛

热图推荐

    RocketMQ面试题-请引见一下RocketMQ中Broker存储机制?

    [复制链接]

    2023-1-29 18:31:43 15 0



    Broker作为RocketMQ的中心组件之一,次要实现关于Topic等路由信息的存储功用,它抉择了全部RocketMQ的吞吐量、牢靠性以及可用性等等。上面咱们就来探讨一下RocketMQ中Broker的存储机制。
    甚么是Broker
    如图所示,展现了Broker组件的各个参预者之间的瓜葛,作为RocketMQ的中心组件之一,Broker次要实现的功用包罗TCP申请处置和发送动静的存储等功用。在实际使用过程当中,Broker分为了Master和Slave。其中Master提供的次要办事,而Slave则是在Master节点宕机之后提供消费办事。


    Broker存储目录构造
    Broker在装置启动之后会生成得多的存储文件,内容如下图所示。


    Co妹妹itlog
    是一个目录文件,其中包罗了详细的co妹妹itlog的文件,其文件称号是由所存储的最大物理offset值在高位补位所生成,每个文件的大小个别在1GB摆布,固然也能够经过mapedFileSizeCo妹妹itLog进行配置。


    consumequeue
    是一个目录文件,其包孕了Broker中的一切Topic对应的消费队列文件信息,如上图所示,每个消费队列都是co妹妹itlog的一个索引值,而后提供应一切的消费者拉取来获得对应的信息。


    Index
    是一个目录文件,其文件是经过动静的key对应的Hash索引摆列,文件名是经过时间戳命名。


    Config
    是一个目录文件,保留了以后Broker中一切的Topic、定阅瓜葛和动静进度等信息,这些数据会由Broker按时从内存耐久化到磁盘中,便利后续恢复使用。
    abort
    Broker是不是异样封闭的标记。正常封闭的时分这个文件会被删除,异样封闭时则不会,当Broker从新启动之后,会按照是不是异样宕机来抉择是不是创立新的Index索引。
    checkpoint
    保留比来一次正常运转时的形态,有点相似于快照。
    Broker存储动静构造
    经过下面的剖析咱们知道,在Co妹妹itLog目录上面有多个Co妹妹itLog的文件,然而实际上Co妹妹itLog只要一个文件,为了便利保留和读取,将一个文件切分红了多个子文件,一切的子文件经过第一个物理地位和最初一个物理文件进行衔接。有点相似于链表构造。
    动静的保留构造如下表所示

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题29

    帖子37

    积分175

    图文推荐