RabbitMQ-数据持久化

一、持久化类型

1、交换机持久化(SpringAMQP默认)

2、队列持久化(SpringAMQP默认)

3、消息持久化

二、消息持久化

1、纯内存操作

如果采用纯内存操作,那么消息存储达到队列的上限之后,会有一个page out操作,这个操作是将队列中已经有的一部分MQ消息转移到磁盘,给队列腾出空间,使得队列能够继续接收MQ消息,这个转移MQ消息的过程是一个阻塞的过程,转移过程中,队列无法接收MQ消息。

2、持久化消息

SpringAMQP默认采用这种方式,这种方式需要将MQ消息入队的同时,也写一份进入到磁盘中,但是与Page out操作有一定区别,不会阻塞;当队列满了之后,会有一次清空内存的操作,这个操作会使得队列接收消息变慢,但是不至于阻塞。

3、LazyQueue

惰性队列,消息直接写入到磁盘,内存中会保留最近的一部分消息,很少的一部分;当消费者需要消息时,才会到到磁盘中去读取;3.12版本之后,队列都是LazyQueue的模式,无法更改。

相关推荐
西门吹-禅几秒前
.gradle迁移d盘
java
士别三日&&当刮目相看1 分钟前
Spring两大核心思想:IoC和AOP
java·spring
你想考研啊8 分钟前
win11配置maven
java·数据库·maven
独自破碎E11 分钟前
LCR001-两数相除
java·开发语言
tkevinjd13 分钟前
5-Web基础
java·spring boot·后端·spring
蜂蜜黄油呀土豆17 分钟前
Java虚拟机垃圾回收机制解析
java·jvm·性能优化·gc·垃圾回收
像少年啦飞驰点、22 分钟前
零基础入门 Spring Boot:从‘Hello World’到可上线的 Web 应用
java·spring boot·web开发·编程入门·后端开发
独处东汉24 分钟前
freertos开发空气检测仪之输入子系统按键驱动测试
android·java·数据库
Cult Of25 分钟前
一个最小可扩展聊天室系统的设计与实现(Java + Swing + TCP)(2)
java·jvm·tcp/ip
allway228 分钟前
统信UOS桌面专业版开启 ROOT权限并设置 SSH 登录
java·数据库·ssh