当前位置: 首页 > article >正文

RocketMQ 消费队列的写入跟commit log的写入是否同步进行的

消费队列的写入跟commit log的写入是同步进行的吗?答案是否定的,RocketMQ会启动一个独立的线程来异步构建消费队列(构建索引文件也是这个线程)

 

 简单描述下流程:构建索引的线程为ReputMessageService,跟写入commitLog的线程是异步关系,该线程会不断地将没有构建索引的消息从commit log中取出,将物理偏移量、消息长度、tag写入文件。值得一提的是,消息队列文件的写入跟commit log不同,commit log的写入有很多刷盘策略,而consumeQueue每条消息解析完毕都会刷盘,而且采用的是FileChannel

Broker收到消息的流程:Broker收到一条消息后,先把消息存储在CommitLog中,之后把CommitLog中对应的物理地址(文件偏移量),记录在对应的MessageQueue对应的的ConsumeQueue文件中


http://www.kler.cn/a/401026.html

相关文章:

  • 信息与决策支持系统(Information and Decision Support Systems,IDSS)
  • 【2】猫眼娱乐后端开发面试题整理
  • Jaskson处理复杂的泛型对象
  • C++线程基础使用方法
  • 大语言模型通用能力排行榜(2024年10月8日更新)
  • 树莓派镜像 DIY 制作
  • C++builder中的人工智能(27):如何将 GPT-3 API 集成到 C++ 中
  • 全面掌握Spring Boot异常处理:策略与实践
  • LeetCode77:组合(剪枝操作)
  • prop校验,prop和data区别
  • 数组相关的面试题
  • 基于Java Springboot图书借阅系统
  • 【进阶系列】正则表达式 #匹配
  • 探寻优质的 PostgreSQL 中级认证专家学习机构
  • DNS域名解析服务器--RHCE
  • 使用SaaS化的Aurora应用快速搭建私人ChatGPT助手
  • Deep Fake Detection (DFD) Entire Original Dataset数据集下载
  • 11.18 机器学习-线性回归(重点)-最小二乘法
  • (二)PyTorch简要教学
  • 莱特币转型MEME币:背后隐含的加密市场现象
  • QT基本绘图
  • k8s 1.26安装
  • 集群聊天服务器(11)客户端开发
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04
  • 小程序-基于java+SpringBoot+Vue的实习生管理系统设计与实现
  • 网络安全等级测评师