RocketMQ 刷盘机制|学习笔记

简介: 快速学习 RocketMQ 刷盘机制

开发者学堂课程【RocketMQ 知识精讲与项目实战(第三阶段)RocketMQ 刷盘机制】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/704/detail/12450


RocketMQ 刷盘机制

 

内容介绍:

一、刷盘机制

二、消息刷盘的配置

 

一、刷盘机制

image.pngRocketMQ 将消息存储到磁盘上面,断电后 rocketMQ 不至于消息丢失。同时消息可以超过内存的限制,内存拿小米来讲一般较小,QMQ 将消息存储到磁盘上面,具体要怎么存储?一般来说有两种刷盘机制同步跟异步,那么同步和异步具体是什么意思?对于同步来讲,消息发送到 MQ 之后, MQ 会将消息写到内存中,再去通知刷盘的线程,将 memory 中的消息刷到磁盘当中。这时的 MQ 并没有对磁盘做出响应,因为刷盘没有完成,它会唤醒之前堵塞的线程,让它对生产者做一个响应,这种方式就叫做同步刷盘。进过分析发现同步刷盘,生产者得到 MQ 响应是在写完磁盘之后。异步刷盘就是生产者发送消息到 MQ , MQ 将消息写到内存当中,没有完成刷盘直接对客户做出响应,此时它会开辟另外一个线程对磁盘当中写,该过程为异步刷盘。若想要使用这两种刷盘方式该如何做?

image.png

 

二、消息刷盘的配置

两种刷盘的机制都是通过配置完成的,具体操作即打开 broker 配置文件,寻找 flushdisktype ,这里面有两个选项,一个是 sync 同步刷盘,一个是 async 异步刷盘,这就是两种刷盘机制。将机制说完之后,来比较一下二者的特点?同步刷盘保证消息的同步性即生产者得到响应之后,消息一定会存入到磁盘当中。异步刷盘不一定,它给予响应和刷盘是同时进行的,能够提高消息的吞吐量。也就是说异步刷盘的效率要高于同步刷盘,不需要存储到磁盘再发送到 broker ,直接存入内存就可继续发送给 MQ 。在真实企业当中,到底该选择哪个?从安全性和性能方面进行取舍。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
消息中间件 存储 监控
|
7月前
|
消息中间件 存储 负载均衡
一文读懂RocketMQ的高可用机制——消息发送高可用
一文读懂RocketMQ的高可用机制——消息发送高可用
181 1
|
1月前
|
消息中间件 存储 运维
|
9月前
|
消息中间件 存储
RabbitMQ的高可用机制
RabbitMQ 提供了多种高可用机制来确保消息队列的可靠性和稳定性。
494 0
|
29天前
|
消息中间件 存储 安全
【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的消息顺序消费和并发消费机制体系的原理分析
【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的消息顺序消费和并发消费机制体系的原理分析
26 0
|
11天前
|
消息中间件 存储 算法
RocketMQ学习笔记
RocketMQ学习笔记
55 0
|
24天前
|
传感器 网络协议 中间件
Mqtt学习笔记--交叉编译移植(1)
Mqtt学习笔记--交叉编译移植(1)
18 0
|
1月前
|
消息中间件 存储 Cloud Native
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
|
5月前
|
消息中间件 Java Maven
消息中间件系列教程(12) -RabbitMQ-消息确认机制
消息中间件系列教程(12) -RabbitMQ-消息确认机制
44 0
|
3月前
|
消息中间件 Java
RabbitMQ中的消息确认机制是什么?为什么需要消息确认?
RabbitMQ中的消息确认机制是什么?为什么需要消息确认?
32 0

热门文章

最新文章