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

RabbitMQ-数据持久化

一、持久化类型

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

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

3、消息持久化

二、消息持久化

1、纯内存操作

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

2、持久化消息

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

3、LazyQueue

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

        

http://www.dtcms.com/a/7707.html

相关文章:

  • [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
  • 面试百问之count(1) 和 count(*) 区别是什么?
  • 机器学习-决策树【手撕】
  • Ribbon负载均衡
  • C++三剑客之std::variant(二):深入剖析
  • L1-093 猜帽子游戏(Java)
  • 【Effective C++】4. 设计与声明
  • OpenKruiseGame × KubeSphere 联合发布游戏服运维控制台,推动云原生游戏落地
  • 1.24寒假集训
  • C++高精度问题
  • 【大数据精讲】全量同步与CDC增量同步方案对比