8.持久化

队列消息都可以持久化。

持久化的目的就是让消息不丢失

RabbitMQ本身退出,或者由于某种原因崩溃时造成的消息丢失。

RabbitMQ一旦宕机,就会造成队列和消息都丢失了。

RabbitMQ重启之后,非持久化的队列和消息都不存在了。

队列持久化

注意:如果要把原来的非持久化队列改成持久化队列,是会报错的。

Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'ack_queue' in vhost '/': received 'true' but current is 'false', class-id=50, method-id=10)

正确的持久化队列姿势:先删除原来非持久化的队列,重新的创建持久化的队列。

创建持久化的队列 

//声明队列
//第二个参数 durable为true表示持久化队列和消息
channel.queueDeclare(QUEUE_NAME, true, false, false, null);

消息持久化

消息的发送者在发送消息的时候,对消息进行持久化。

MessageProperties.PERSISTENT_TEXT_PLAIN

//发送消息
//第三个参数 MessageProperties.PERSISTENT_TEXT_PLAIN
channel.basicPublish("", QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes("UTF-8"));

注意:消息持久化不能完全保证不丢失消息,尽管它告诉rabbitmq将消息保存到磁盘,但是依然存在当消息刚准备存储到磁盘的时候,但是还没有存储完,消息还在缓存的一个间隔点。此时消息并没有真正的写入磁盘。持久性保证并不强。但是对于简单任务队列而言,这已经绰绰有余了。

如果需要强有力的持久化策略需要发布确认模式,后续会介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构 —— B树

数据结构 —— B树 B树B树的插入操作分裂孩子分裂父亲分裂 我们之前学过了各种各样的树&#xff0c;二叉树&#xff0c;搜索二叉树&#xff0c;平衡二叉树&#xff0c;红黑树等等等等&#xff0c;其中平衡二叉树和红黑树都是控制树的高度来控制查找次数。 但是&#xff0c;这都…

C语言:数组-学习笔记(万字笔记)——翻新版

目录 前言&#xff1a; 1、 数组的概念 1.1 什么是数组 1.2 为什么学习数组&#xff1f; 2. ⼀维数组的创建和初始化 2.1 数组创建 2.2 数组的初始化 2.3 数组的类型 2.3.1 什么是数组类型&#xff1f; 2.3.2 数组类型的作用 3、 一维数组的使用 3.1 数组下标 3.2 数…

LC-617-合并二叉树

文章目录 1 题目描述2 思路优化代码完整输入输出 参考 1 题目描述 https://leetcode.cn/problems/merge-two-binary-trees/description/ 给你两棵二叉树&#xff1a; root1 和 root2 。 将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另…

用ComfyUI安装可图Kolors大模型做手机壁纸

一、Kolors简介 国内科技公司快手在人工智能领域取得了显著进展&#xff0c;特别推出了「可图 Kolors」这一开源模型&#xff0c;它在图像生成质量上超越了SD3&#xff0c;与Midjourney v6模型相媲美&#xff0c;并支持中文提示词识别与生成中文字符&#xff0c;成为国产AI绘画…

XMl基本操作

引言 使⽤Mybatis的注解⽅式&#xff0c;主要是来完成⼀些简单的增删改查功能. 如果需要实现复杂的SQL功能&#xff0c;建议使⽤XML来配置映射语句&#xff0c;也就是将SQL语句写在XML配置⽂件中. 之前&#xff0c;我们学习了&#xff0c;用注解的方式来实现MyBatis 接下来我们…

四、 简单工厂模式

文章目录 1 基本介绍2 案例2.1 Drink 抽象类2.2 Tea 类2.3 Coffee 类2.4 DrinkFactory 类2.5 Client 类2.6 Client 类运行结果2.7 总结 3 各角色之间的关系3.1 角色3.1.1 Product ( 抽象产品 )3.1.2 ConcreteProduct ( 具体产品 )3.1.3 Factory ( 工厂 )3.1.4 Client ( 客户端 …

[译] Rust项目的基础设施

本篇是对 RustConf 2023中的Infrastructure for Rust这一视频的翻译与整理, 过程中为符合中文惯用表达有适当删改, 版权归原作者所有. 我今天要和大家讨论支持Rust及Rust项目的基础设施。Rust是一门令人惊叹的语言,我非常喜欢它,看到它的普及度和社区的成长令人非常满意。但从项…

CSA笔记4-包/源管理命令以及本地光盘仓库搭建

包/源管理命令 1.rpm是最基础的rmp包的安装命令&#xff0c;需要提前下载相关安装包和依赖包 2.yum/dnf是基于rpm包的自动安装命令&#xff0c;可以自动在仓库中匹配安装软件和依赖包 注意:以上是安装命令&#xff0c;以下是安装源 3.光盘源&#xff1a;是指安装系统时后的…

JAVA零基础学习2(算术逻辑三元运算符、原码反码补码、标准的类如何描写)

JAVA零基础学习2&#xff08;算术逻辑三元运算符、原码反码补码、标准的类如何描写&#xff09; 算术运算符算术运算符自增和自减运算符算术运算符的优先级示例代码 逻辑运算符三元运算符示例代码示例1&#xff1a;简单的条件判断示例2&#xff1a;嵌套的三元运算符 原码反码补…

【Elasticsearch7.11】集合字段 数量大小查询

需求&#xff1a; 有个字符串集合字段&#xff0c;需要查询出 集合大小 大于等于2 的数据 1、字段mapping "belong_account": {"type": "text","analyzer": "ik_max_word","search_analyzer": "ik_smart&qu…

ClusterIP、NodePort、LoadBalancer 和 ExternalName

Service 定义 在 Kubernetes 中&#xff0c;由于Pod 是有生命周期的&#xff0c;如果 Pod 重启它的 IP 可能会发生变化以及升级的时候会重建 Pod&#xff0c;我们需要 Service 服务去动态的关联这些 Pod 的 IP 和端口&#xff0c;从而使我们前端用户访问不受后端变更的干扰。 …

MySQL运维实战之ProxySQL(9.10)proxysql监控

作者&#xff1a;俊达 stats数据库 从stats数据库中可以查到proxysql一些内部组件的状态&#xff0c;如内存使用情况、连接池信息、会话信息、SQL执行状态等。 mysql> show tables from stats; --------------------------------------- | tables …

昇思25天学习打卡营第11天 | ResNet50迁移学习

利用ResNet50进行迁移学习的探索与实践 在人工智能的各个领域中&#xff0c;迁移学习已成为一个极其有效的策略&#xff0c;特别是在图像识别任务中。通过使用预训练模型&#xff0c;我们可以利用在大型数据集&#xff08;如ImageNet&#xff09;上学到的丰富特征&#xff0c;…

Vue 使用 Element UI 组件库

https://andi.cn/page/621589.html

C嘎嘎类与对象拓展

本篇文章是对浅谈C嘎嘎类与对象的拓展 初始化列表&#xff08;初始化&#xff09; 格式&#xff1a;类名&#xff08;类型 形参1, 类型 形参2&#xff09; &#xff1a;&#xff08;冒号&#xff09; 变量【类中声明的变量】&#xff08;形参1&#xff09; , 变量【类中…

基于天地图使用Leaflet.js进行WebGIS开发实战

目录 前言 一、天地图的key 1、创建应用 2、调用限制策略 注&#xff1a; &#xff08;1&#xff09;日服务调用超量会暂时拒绝访问&#xff0c;次日自动开启&#xff1b; &#xff08;2&#xff09;如果服务调用过程中存在数据爬取或者下载行为&#xff0c;服务调用会被自…

【中项】系统集成项目管理工程师-第3章 信息技术服务-3.6服务发展

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

K12智慧校园智能化解决方案

1. 项目背景 “十三五”期间&#xff0c;教育信息化工作旨在为教育改革发展提供动力与手段&#xff0c;目标是到2020年建成与国家教育现代化发展目标相适应的教育信息化体系。 2. 建设需求 智慧校园系统框架解析与建设目标分析&#xff0c;旨在实现教育信息化目标任务。 3.…

【C++航海王:追寻罗杰的编程之路】关于空间配置器你知道多少?

目录 1 -> 什么是空间配置器 2 -> 为什么需要空间配置器 3 -> SGI-STL空间配置器的实现原理 3.1 -> 一级空间配置器 3.2 -> 二级空间配置器 3.2.1 -> 内存池 3.2.2 -> SGI-STL中二级空间配置器设计 3.2.3 -> SGI-STL二级空间配置器之空间申请 …

Java | Leetcode Java题解之第263题丑数

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isUgly(int n) {if (n < 0) {return false;}int[] factors {2, 3, 5};for (int factor : factors) {while (n % factor 0) {n / factor;}}return n 1;} }