RocketMQ存储

RocketMQ中的消息数据存储,采用了零拷贝技术(使用 mmap + write 方式),文件系统采用 Linux Ext4 文件系统进行存储。

消息数据的存储

在RocketMQ中,消息数据是保存在磁盘文件中,为了保证写入的性能,RocketMQ尽可能保证顺序写入,顺序写入的效率比随机写入的效率高很多。

RocketMQ消息的存储是由ConsumeQueue和CommitLog配合完成的,CommitLog是真正存储数据的文件,ConsumeQueue是索引文件,存储数据指向到物理文件的配置。

如上图所示:

消息主体以及元数据都存储在CommitLog当中
Consume Queue相当于kafka中的partition,是一个逻辑队列,存储了这个Queue在CommiLog中的起始offset,log大小和MessageTag的hashCode。
每次读取消息队列先读取consumerQueue,然后再通过consumerQueue去commitLog中拿到消息主体。

文件位置:

RocketMQ的存储之消息的存储分析相关推荐

  1. 【RocketMQ工作原理】消息的存储

    RocketMQ中的消息存储在本地文件系统中,这些相关文件默认在当前用户主目录下的store目录中. abort:该文件在Broker启动后会自动创建,正常关闭Broker,该文件会自动消失.若在没有 ...

  2. 【RocketMQ】消息的存储

    Broker对消息的处理 BrokerController初始化的过程中,调用registerProcessor方法注册了处理器,在注册处理器的代码中可以看到创建了处理消息发送的处理器对象SendMe ...

  3. RocketMQ消息的存储结构

    RocketMQ就是采用文件系统的方式来存储消息,消息的存储是由ConsumeQueue和CommitLog配合完成的.CommitLog是消息真正的物理存储文件.ConsumeQueue是消息的逻辑 ...

  4. 【RocketMQ】消息的存储设计

    RocketMQ因为有高可靠性的要求(宕机不丢失数据),所以数据要进行持久化存储.所以RocketMQ采用文件进行存储. 物理文件结构 RocketMQ的数据默认存储在${user.home}/sto ...

  5. 深入剖析分布式监控 CAT —— 消息文件存储

    项目简介 CAT(Central Application Tracking),是基于 Java 开发的分布式实时监控系统.CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC.数据 ...

  6. 数据存储,消息队列的高可用保障

    1 介绍 在之前的章节中,我们介绍了消息的发送 和 消息通信 的原理.但是这边有一个比较核心的关键点,那就是如果已经把消息传递给Broker.在Broker在被消费之前,如何保证消息的稳定性,避免消息 ...

  7. RocketMQ 消息丢失场景分析及如何解决!

    本文来源:https://blog.csdn.net/LO_YUN/article/details/103949317 既然在项目中使用了MQ,那么就不可避免的需要考虑消息丢失问题.在一些涉及到了金钱 ...

  8. 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!

    项目中使用了MQ,那么就不可避免的需要考虑消息丢失问题.在一些涉及到了金钱交易的场景下,消息丢失还是很致命的.那么在RocketMQ中存在哪几种消息丢失的场景呢?先来一张最简单的消费流程图: 上图中大 ...

  9. 阿里云的NoSQL存储服务OTS的应用分析

    这篇文章主要介绍了阿里云的NoSQL存储服务OTS的应用分析,OTS作为阿里巴巴开发的NoSQL存储技术服务现已面向用户商业化,需要的朋友可以参考下. 1. 概要   OTS是构建在阿里云飞天分布式系 ...

最新文章

  1. android捕获方法,android捕获Home键的方法
  2. eclipse修改项目访问前缀
  3. 计算机动画整个的发展历史,三维动画的发展史
  4. php 获取浏览器时区,获取用户时区
  5. 【youcans 的 OpenCV 例程200篇】157. 霍夫变换直线检测
  6. 19.CSS background
  7. 设备接入服务,看完这篇给你整的明明白白
  8. 在线黑客帝国文字效果生成工具
  9. 斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
  10. 虹膜识别与虹膜定位(续)算法实现
  11. Internet校验和
  12. PHP 公众号文章 转 pdf,使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)...
  13. WPS Office 11.1.0.10314 免费完整版
  14. 智慧路灯杆如何选择最合适的组网方案
  15. R语言Tukey检验进行事后检验(post hoc)实战:单因素方差分析告诉我们并不是所有的群体手段的效果是均等的,确切地找出哪些组彼此不同使用Tukey检验
  16. ZOJ 1428 Magazine Delivery
  17. 天津达内可靠么 老员工揭秘真实的达内教育
  18. PowerShell的基本使用方法
  19. OC 技术 原生地图(源码)
  20. matlab中sym(3 4),Matlab中sym 的用法

热门文章

  1. 【转】JMeter学习(六)集合点
  2. 使用 FTP 迁移 SQL Server 数据_迁移数据_快速入门(SQL Server)_云数据库 RDS 版-阿里云...
  3. ASP.NET常见面试题及答案(130题)
  4. 获取 input 单选框和多选框的值
  5. Create QR Code
  6. 使用GitHub构建个人博客网站
  7. 关于linux内核模块的装载过程
  8. SQL查询数据并插入新表
  9. New Linux2.6 I2C Driver Model Example
  10. Java平台模块化系统(JSR 376)通过公开测评复议投票