30. RabbitMQ消息丢失

embedded/2024/9/25 8:50:32/

1. 前言

RabbitMQ经常被用于服务模块之间的解耦以及高并发削峰场景,之前的章节讨论了不同服务模式的特点,但是在生产环境中,因为机器以及网络设备的不可靠,保证消息的可靠是待解决的问题。在特定场景下消息可能存在丢失风险,本文将介绍如何预防这类的风险。

rabbitmq消息丢失的场景">2. RabbitMQ消息丢失的场景

面试官提问:RabbitMQ 消息队列,在哪些场景下可能会丢失消息?

题目解析

我们可以将 RabbitMQ 消息处理的过程分为三个步骤:

(1)生产阶段:生产者生产消息并且发送到消息队列;
(2)储存阶段:消息队列存储和处理消息;
(3)消费阶段:消息队列将消息转发到消费者。

上述每个步骤都有消息丢失的风险,候选人需要按顺序分别解释不同场景可能丢失的原因以及解决方案。

2.1 生产者生产消息并且发送到消息队列


http://www.ppmy.cn/embedded/116535.html

相关文章

2024!再见前端!

各位朋友大家晚上好,夜深了,睡不着,想想还是写一篇文章和大家说再见吧! 自2014年入行前端以来,满打满算差不多整整十年了,这十年可以说是见证了中国整个互联网的起飞到全盛时期。这期间经历了电商、金融、…

跟着B战学习JAVA面试八股文

学习链接:https://www.bilibili.com/video/BV1gm411S7EX/?spm_id_from333.337.search-card.all.click&vd_sourceefbaa07876b231ae3225ba8999116807 创建线程的几种方式? 继承Thread类实现Runnable接口实现Callable接口通过线程池来创建线程 为什么…

创建游戏暂停菜单

创建用户控件 设置样式 , 加一层 背景模糊 提升UI菜单界面质感 , 按钮用 灰色调 编写菜单逻辑 转到第三人称蓝图 推荐用 Set Input Mode Game And UI , 只用仅UI的话 增强输入响应不了 让游戏暂停的话也可以用 Set Game Paused , 打勾就是暂停 , 不打勾就是继续游戏 , 然后…

c/c++八股文

c基础 一、指针和引用的区别 定义方式: 指针是通过 * 操作符定义的变量,用于存储另一个变量的地址。例如: int* p &x;引用是通过 & 操作符定义的别名,直接引用另一个变量。例如: int& r x; 内存占用: 指针是一个独立的变量,占用一定的内存空间。引用不是独立的…

华为认证HCIA篇--网络通信基础

大家好呀!我是reload。今天来带大家学习一下华为认证ia篇的网络通信基础部分,偏重一些基础的认识和概念性的东西。如果对网络通信熟悉的小伙伴可以选择跳过,如果是新手或小白的话建议还是看一看,先有个印象,好为后续的…

Redis的一些数据类型(一)

(一)数据类型 我们说redis是key value键值对的方式存储数据,key是字符串,而value是一些数据结构,那今天就来说一下value存储的数据。 我们数据结构包含,String,hash,list,set和zest但…

spark初步探索

今天我阅读了《基于spark下一代机器学习》这本书,里面spark与sql进行了结合,关于传统领域cv,nlp我认为使用大数据处理并不如python处理方便快捷。学习了里面的基础操作,之前学习的spl也可以进行相对的结合。 在书中我会使用了XGB…

怎样写论文及论文格式?分享4款ai论文生成软件

撰写一篇学术论文是一项复杂而系统的工作,需要从选题、文献综述、研究方法到最终的写作和修改等多个步骤。本文将详细介绍如何写好一篇论文,并推荐四款AI论文生成软件,特别是千笔-AIPassPaper。 如何写好一篇论文 1. 选题与题目表达 选题是…