RabbitMQ宕机后,消息100%不会丢失吗

2023-10-26

V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF

这篇文章,给不太熟悉MQ技术的同学,介绍一个生产环境中可能会遇到的问题。

目前为止,你的RabbitMQ部署在线上服务器了,对吧?然后订单服务和仓储服务都可以基于RabbitMQ来收发消息,同时仓储服务宕机,不会导致消息丢失。
在这里插入图片描述

好,我们来看下目前为止的架构图。

那如果此时出现一个问题,就是说订单服务投递了订单消息到RabbitMQ里去,RabbitMQ暂时放在了自己的内存中,还没来得及投递给下游的仓储服务呢,此时RabbitMQ突然宕机了,会怎么样?

答案其实很简单,默认情况下,按照我们目前的代码和配置,这个数据就会丢失了。

所以在这里而言,就牵扯到了RabbitMQ的一个较为重要的概念:消息的持久化,用英文来说就是durable机制。

然后这里又有一个引申的概念,如果按照我们之前的代码和配置,默认情况下,RabbitMQ一旦宕机就再次重启,就会丢失我们之前创建的queue。所以首先得先让queue是持久化的。

使用下面的代码,就可以把我们的“warehouse_schedule_delivery”这个queue,也就是仓储调度发货的queue,设置为持久化的。

这样,即使RabbitMQ宕机后重启&#x

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RabbitMQ宕机后,消息100%不会丢失吗 的相关文章

随机推荐

  • 【深度学习】 Python 和 NumPy 系列教程(二十):Matplotlib详解:2、3d绘图类型(6)3D向量场图(3D Vector Field Plot)

    目录 一 前言 二 实验环境 三 Matplotlib详解 1 2d绘图类型 2 3d绘图类型 0 设置中文字体 1 3D线框图 3D Line Plot 2 3D散点图 3D Scatter Plot 3 3D条形图 3D Bar Plo
  • 两个分数化简比怎么化_小学数学“比的化简和求比值”

    小学数学第十一册中比的化简和要比值 有些小学生觉得有点难 我觉得这部分知识主要是学生还没有掌握以下方法 一 比的化简几种类型 1 比的前项和比的后项都是整数 例 5 25 5 25 1 5 1 5 就是用比的前项除以比的后项 可写成分数的形
  • Java 零基础教程,看完就会,建议收藏

    如果你不懂Java 并且想认真学习接触了解一下Java的语法 建议把这篇文章收藏了 多看几遍 应该可以初步掌握Java 大部分基础的语法 让我们出发吧 ps 本文有点长 耐心阅读 编程环境 工程项目推荐使用IDEA 入门学习推荐使用jupy
  • Redis在Springboot中的使用——Hash

    Redis在Springboot中的使用 Hash 数据类型详解 操作命令 添加 获取 修改 删除 其他操作 使用 应用场景 购物车 用户个人详情 商品详情 数据类型详解 在讲解Redis中Hash的使用之前 大家需要知道Hash是怎么样的
  • 【C++】构造函数初始化列表

    目录 一 为什么要用构造函数初始化列表 二 使用构造函数初始化列表的方式 三 构造函数成员初始化顺序 一 为什么要用构造函数初始化列表 常规的构造函数初始化方式 class Rectangle public Rectangle int wi
  • C++二进制(写入,读取)

    二进制文件以基本类型数据在内存的二进制表示形式存放数据 不对写入或读出的数据做格式转换 二进制文件的读写方式由程序控制 打开二进制文件用binary方式 istream istream read char buf int n 作用 从流中提
  • 从键盘上输入一个字符,进行加密以后再输出在屏幕上。加密规律是:输入小写英文字母时,输入a输出Z、输入b输出Y、输入c输出X、...、输入z输出A。

    题目描述 从键盘上输入一个字符 进行加密以后再输出在屏幕上 加密规律是 输入小写英文字母时 输入a输出Z 输入b输出Y 输入c输出X 输入z输出A 输入大写英文字母时 将该字母ASCII码值再加上该值的1 2后输出所对应的字符 例如数字A的
  • orb-slam2 从单目开始的简单学习(6)Frame

    1 SetPose 为了获得相机坐标系到世界坐标系的旋转矩阵和平移向量以及当前相机光心在世界坐标系下坐标 void Frame SetPose cv Mat Tcw mTcw Tcw clone UpdatePoseMatrices voi
  • solve Android studio click device manage no working

    Android Studio wants to know what kind of project you have to show the right menus click left in file tree on the root n
  • vuecli引入vue-amap地图组件(高德地图SDK)

    指南 组件 vue amap 1 前往高德开放平台注册开发者账号 在控制台申请Key 高德开放平台 高德开放平台 高德地图API 申请Key 获取Key 创建工程 开发指南 Web服务 API 高德地图API 2 安装vue amap np
  • 虚拟机配置

    1 Finalshell下载 Mac http www hostbuf com downloads finalshell install pkg Windows http www hostbuf com downloads finalshe
  • clang static analyzer源码分析(二)

    引子 在clang static analyzer源码分析 一 中我们简单介绍了 AnalysisConsumer 这个类以及基于AST树的语法层级的代码检查 今天简单介绍下 PathSensitiveChecks 的概念 以及如何对cla
  • STL:vectoer

    首先包含头文件 include
  • 重参数化技巧:高斯分布采样

    1 高斯分布采样 我们现在得到了有样本X得到的分布X N mu sigma 2 通过采样我们得到确定的隐变量向量 从而作为解码器的输入 采样这个操作本身是不可导的 但是我们可以通过重参数化技巧 将简单分布的采样结果变换到特定分布中
  • Fabric上搭建Hyperledger caliper进行性能测试

    Fabric介绍 推荐文章 Hyperledger 超级账本 是Linux基金会旗下的项目 Fabric是Hyperledger项目里最早也是目前应用最广泛的区块链项目 最初由IBM开发 后来捐助给基金会 是一个开源的企业级需要许可的分布式
  • Git Gui客户端软件连接及上传文件

    1 下载客户端软件 2 上传那个文件就在哪个文件下 git gui here 之后选择当前的目录创建仓库 3 关于操作在一下连接有 https blog csdn net qq 15509267 article details 836170
  • 关于mybatis使用pageHelper分页插件问题

    关于mybatis使用PageHelper分页插件冲突以及解决方案 分页插件其实 可以提高我们的开发效率 如果我们自己手写 1会嫌麻烦 2需要写两条一条写count一条写list 虽然他底层也是这么实现的 但是不需要我们手动来写 好的工具能
  • 大数据的入门级学习

    大数据方向的工作目前分为三个主要方向 01 大数据工程师 02 数据分析师 03 大数据科学家 04 其他 数据挖掘本质算是机器学习 不过和数据相关 也可以理解为大数据的一个方向吧 由于本人曾是大数据工程师的角色 我就这个方向做一些介绍 本
  • 从0开始使用vue-element-admin

    目录 安装node js及npm 安装nrm 安装vscode 汉化 推荐安装一些好用的扩展 安装vue element admin 框架登陆原理简单分析 本教程经亲测支持最新版4 0 1vue element admin 安装node j
  • RabbitMQ宕机后,消息100%不会丢失吗

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 这篇文章 给不太熟悉MQ技术的同学 介绍一个生产环境中可能会遇到的问题 目前为止 你的RabbitMQ部署在线上服务器了 对吧 然后订单服务和仓储服务都可以基于Rab