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

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

介绍

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

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

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

交换机持久化

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

队列持久化

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


LazyQueue介绍

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

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

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

http://www.lryc.cn/news/440149.html

相关文章:

  • CLIP论文中关键信息记录
  • sshj使用代理连接服务器
  • 【Leetcode:1184. 公交站间的距离 + 模拟】
  • VRRP 笔记
  • 【洛谷】P3743 小鸟的设备 的题解
  • 算法面经手撕系列(2)--手撕BatchNormlization
  • mysql-搭建主从复制
  • MiniMaxi-共创智能新体验新手入门
  • Docker torchserve 部署模型流程
  • mybatis开启日志
  • MobaXterm : Network error: Connection refused(连接被拒绝)
  • 电脑的主板,内存条插多少合适?
  • C++:初始化列表
  • [000-01-008].第05节:OpenFeign特性-重试机制
  • Android 11(API 级别 30)及以上版本中,将Bitmap保存到设备上
  • django orm增删改查操作
  • 禁忌搜索算法(TS算法)求解实例---旅行商问题 (TSP)
  • Rust 所有权 简介
  • linux-网络管理-防火墙配置
  • 【springboot】实现文件上传和下载
  • 【RabbitMQ】RabbitMQ如何保证数据的可靠性,RabbitMQ如何保证数据不丢失,数据存储
  • Redis 篇-初步了解 Redis 持久化、Redis 主从集群、Redis 哨兵集群、Redis 分片集群
  • 算法基础-二分查找
  • LeetCode:1184. 公交站间的距离 一次遍历数组,复杂度O(n)
  • 牛客周赛 Round 60(A,B,C,D,E,F)
  • vueCropper裁剪图片(不模糊)以及记录使用方法
  • 【HTML】HTML页面和常见标签
  • 鸿蒙 ArkUI组件二
  • PHP 实现 redis 分布式锁
  • vue3 自定义el-tree树形结构样式