开发者社区 问答 正文

Broker端CommitLog采用顺序写的优点是什么?

Broker端CommitLog采用顺序写的优点是什么?

展开
收起
Aries- 2022-05-12 15:51:22 523 分享 版权
来自: 阿里技术
2 条回答
写回答
取消 提交回答
  • 可以大大提高写入效率,同时采用不同的刷盘模式提供不同的数据可靠性保证,此外采用了ConsumeQueue中间结构来存储偏移量信息,实现消息的分发。

    2022-05-12 17:23:38
    赞同 展开评论
  • Broker端CommitLog采用顺序写,可以大大提高写入效率,同时采用不同的刷盘模式提供不同的数据可靠性保证,此外采用了ConsumeQueue中间结构来存储偏移量信息,实现消息的分发。由于ConsumeQueue结构固定且大小有限,在实际情况中,大部分的ConsumeQueue 能够被全部读入内存,可以达到内存读取的速度。此外为了保证CommitLog和ConsumeQueue的一致性, CommitLog里存储了Consume Queues 、Message Key、Tag等所有信息,即使ConsumeQueue丢失,也可以通过 commitLog完全恢复出来,这样只要保证commitLog数据的可靠性,就可以保证Consume Queue的可靠性。

    2022-05-12 15:55:21
    赞同 展开评论
问答地址: