进阶 RocketMQ - 消息存储-一张图掌握核心要点

看了很多遍源码整理的 一张图进阶 RocketMQ 图片,关于 RocketMQ 你只需要记住这张图!

消息传递责任已移交至Broker,接下来如何处理?首先,我们需要确保消息的持久化,避免因宕机导致的数据丢失。那么,消息该如何存储呢?是采用二进制、JSON、还是Protocol Buffers(PB)?虽然这些格式在功能上都是可行的,但RocketMQ究竟选择了哪种?

在确定了存储结构之后,消息应该存放在哪里呢?我们可以选择数据库、本地文件系统或者对象存储服务。虽然从功能角度来看,这些选项都有可能实现,但考虑到性能,哪家数据库能够处理每秒十万级的消息吞吐量呢?如果我们选择直接存储到数据库,是否真的可行?而RocketMQ又是如何通过本地文件系统实现高效存储的?它是否拥有某些独门绝技?

今天,我们将探讨Broker如何存储消息。我们的首要目标是了解RocketMQ的存储结构,即消息是如何组织的。理解了这一点,我们才能更好地掌握存储流程,明白为什么RocketMQ的流程设计如此。最后,我们将探索RocketMQ能够支撑单机十万级吞吐量的机制。

存储架构

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 14:20:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 14:20:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 14:20:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 14:20:04       20 阅读

热门阅读

  1. 探索Linux中的`aserver`命令(假设命令)

    2024-06-07 14:20:04       9 阅读
  2. 生活中优秀学习习惯

    2024-06-07 14:20:04       9 阅读
  3. rust的类型转换和一些智能指针用法(四)

    2024-06-07 14:20:04       8 阅读
  4. vue3之基于el-image实现图片预览

    2024-06-07 14:20:04       9 阅读
  5. GUI-demo(不含DB)

    2024-06-07 14:20:04       13 阅读
  6. 技术速递|使用主构造函数重构 C# 代码

    2024-06-07 14:20:04       10 阅读
  7. C#知识|封装典型的SQLServer数据库查询方法。

    2024-06-07 14:20:04       8 阅读
  8. Webpack基本配置

    2024-06-07 14:20:04       7 阅读
  9. 【运维】如何停止某个端口相关的所有服务

    2024-06-07 14:20:04       7 阅读