当前位置: 首页 > news >正文

RabbitMQ-数据持久化

一、持久化类型

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

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

3、消息持久化

二、消息持久化

1、纯内存操作

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

2、持久化消息

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

3、LazyQueue

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

        

相关文章:

  • [150] 逆波兰表达式求值 js
  • 【supervisor】unix:///tmp/supervisor.sock no such file
  • javascript设计模式-观察者和命令
  • 【spdk】isal加速库数据压缩测试
  • 【Java万花筒】解码Java网络通讯谜团:对比Apache HttpClient、OkHttp、Feign、RestTemplate、Retrofit
  • 一种解决常用存储设备无法被电脑识别的方法
  • PHP 调用 e 签宝接口签名指南
  • NAT44-ED features及节点图
  • python数字图像处理基础(九)——特征匹配
  • stm32 FOC 电机介绍
  • 【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解
  • HCIA-HarmonyOS设备开发认证-序
  • 【GitHub项目推荐--不错的 Java 开源项目】【转载】
  • Transformer and Pretrain Language Models3-1
  • 使用trace工具分析Mysql如何选择索引
  • sky_take_out
  • Java使用Netty实现端口转发Http代理Sock5代理服务器
  • 基于若依的ruoyi-nbcio流程管理系统一种简单的动态表单模拟测试实现(四)
  • GBASE南大通用数据库GBase 8s常见问题讲堂 -- 字符集的设置
  • Java实现考研专业课程管理系统 JAVA+Vue+SpringBoot+MySQL
  • 泽连斯基:乌克兰已做好与俄罗斯举行会谈的准备
  • 农林生物安全全国重点实验室启动建设,聚焦重大有害生物防控等
  • 1至4月全国铁路完成固定资产投资1947亿元,同比增长5.3%
  • 综艺还有怎样的新可能?挖掘小众文化领域
  • 习近平会见委内瑞拉总统马杜罗
  • 定位真核生物起源于约27.2亿年前,华东师大团队在《自然》发文