RabbitMQ-数据持久化

一、持久化类型

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

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

3、消息持久化

二、消息持久化

1、纯内存操作

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

2、持久化消息

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

3、LazyQueue

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

相关推荐
七夜zippoe几秒前
JVM调优实战:从GC日志分析到参数配置(Xmx, Xms, XX:+)
java·jvm·gc·jit·垃圾回收器
这不小天嘛8 分钟前
多模态智能对话系统-后端开发
java
2509_940880228 分钟前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
切糕师学AI23 分钟前
Spring 中的 @Service 注解
java·spring
10km25 分钟前
java:Apache Commons Configuration2 占位符使用详解
java·apache·占位符·configuration2·commons·interpolator
qq_4798754335 分钟前
X-Macros(3)
java·开发语言
想不明白的过度思考者38 分钟前
Spring Web MVC从入门到实战
java·前端·spring·mvc
Andy38 分钟前
Docker 初识
java·docker·容器
SunnyDays10111 小时前
Java 高效实现 PPT 转 PDF
java·ppt转pdf
IUGEI1 小时前
【后端开发笔记】JVM底层原理-内存结构篇
java·jvm·笔记·后端