RabbitMQ-数据持久化

一、持久化类型

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

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

3、消息持久化

二、消息持久化

1、纯内存操作

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

2、持久化消息

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

3、LazyQueue

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

相关推荐
budingxiaomoli25 分钟前
Spring IoC &DI
java·spring·ioc·di
Spider Cat 蜘蛛猫27 分钟前
Springboot SSO系统设计文档
java·spring boot·后端
未若君雅裁32 分钟前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
学习中.........1 小时前
从扰动函数的变化,感受红黑树带来的性能提升
java
计算机安禾1 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法
weixin199701080162 小时前
【保姆级教程】淘宝/天猫商品详情 API(item_get)接入指南:Python/Java/PHP 调用示例与 JSON 返回值解析
java·python·php
环流_2 小时前
redis核心数据类型在java中的操作
java·数据库·redis
雨辰AI2 小时前
SpringBoot3 项目国产化改造完整流程|从 MySQL 到人大金仓落地
java·数据库·后端·mysql·政务
带刺的坐椅2 小时前
Java 流程编排新范式 Solon Flow:一个引擎,七种节点,覆盖规则/任务/工作流/AI 编排全场景
java·spring·ai·solon·flow
知彼解己3 小时前
Arthas:Java生产环境问题排查利器,从入门到实战
java