RabbitMQ-数据持久化

一、持久化类型

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

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

3、消息持久化

二、消息持久化

1、纯内存操作

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

2、持久化消息

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

3、LazyQueue

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

相关推荐
weixin_4569042714 分钟前
C# 中的回调函数
java·前端·c#
程序员水自流22 分钟前
MySQL InnoDB存储引擎关键核心特性详细介绍
java·数据库·mysql
Chen不旧34 分钟前
easyexcel实现excel读取
java·excel·easyexcell
码界奇点1 小时前
Spring Web MVC构建现代Java Web应用的基石
java·前端·spring·设计规范
板板正1 小时前
EasyExcel实现普通导入导出以及按模板导出excel文件
java·excel
野犬寒鸦1 小时前
从零起步学习Redis || 第十章:主从复制的实现流程与常见问题处理方案深层解析
java·服务器·数据库·redis·后端·缓存
luopandeng1 小时前
amd npt技术 对比 intel ept 技术
java·linux·网络
编啊编程啊程2 小时前
兼职管理平台
java·spring boot·rpc·dubbo·nio
吃饭最爱2 小时前
java项目中前后端结合的要点
java
陈一Tender2 小时前
JavaWeb后端实战(IOC+DI)
java·spring boot·spring