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

SpringBoot 消息队列RabbitMQ 消息可靠性 数据持久化 与 LazyQueue

介绍

在默认情况下,RabbitMQ会将接收到的信息保存在内存中以降低消息收发的延迟

  • 一旦MO宕机,内存中的消息会丢失
  • 内存空间有限,当消费者故障或处理过慢时,会导致消息积压,引发MQ阻塞

在消息队列运行的过程中,出现问题导致服务的重启等都回造成信息的丢失。这时候就需要去持久化即使重启了没消费完的数据也不会丢失。

交换机持久化

在创建交换机时应该选择持久化交换机,否者就是临时交换机重新启动会就没了。
在这里插入图片描述

队列持久化

在这里插入图片描述
使用LazyQueue可以让数据持久化的性能更加的好


LazyQueue介绍

从RabbitMQ的3.6.0版本开始,就增加了LazyQueue的概念,也就是惰性队列。

  • 接收到消息后直接存入磁盘而非内存(内存中只保留最近的消息,默认2048条)
  • 消费者要消费消息时才会从磁盘中读取并加载到内存支持数百万条的消息存储
  • 支持数百万条的消息存储

在3.12版本后,所有队列都是LazyQueue模式,无法更改


http://www.mrgr.cn/news/28314.html

相关文章:

  • FastAPI 中间件详解:实现高性能 Web 应用的完整指南和实际案例
  • 使用Axios函数库进行网络请求的使用指南
  • IDEA 开发工具常用快捷键有哪些?
  • 分享一些Kafka集群优化的最佳实践?
  • Java项目:校园宿舍管理系统(优质版)(Springboot3+Maven+Mybatis Plus+Vue3+ Element Plus+Mysql)
  • Python 正则表达式的一些介绍和使用方法说明(数字、字母和数字、电子邮件地址、网址、电话号码(简单)、IPv4 )
  • Java读取寄存器数据的方法
  • 53. 最大子数组和
  • 微信视频号导出视频软件
  • Python 课程12-Python 自动化应用
  • 【思博伦】史上最详细思博伦测试仪使用教程精讲(三)!图解超赞超详细!!!
  • 二叉树OJ题——另一棵树的子树
  • 【Linux篇】TCP/IP协议(笔记)
  • asp.net core调用wps实现word转pdf的方法
  • A+B P1001 A+B Problem
  • 20240916 每日AI必读资讯
  • 认知杂谈68《燃爆!兄弟萌不可错过的人生开挂宝典》
  • OJ在线评测系统 后端项目初始化 Springboot项目通用模版讲解
  • 2025秋招LLM大模型多模态面试题(七)- 思维链CoT
  • 【我的 PWN 学习手札】Unsortedbin Attack
  • 【苍穹外卖】总结
  • Leetcode 找到字符串中所有字母异位词
  • 研究生招生宣传(2024秋)
  • 12 数组——27. 移除元素 ★
  • 1. TypeScript基本语法
  • Autosar BswM配置-手动建立Swc Port实现自定义模式切换