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

针对面试- RabbitMQ消息队列篇

1. RabbitMQ-如何保证消息不丢失

        开启生产者确认机制,确保生产者的消息能到达队列

        开启(交换机,队列,消息)持久化功能,确保消息未消费前在队列中不会丢失

        开启消费者确认机制为auto,由spring确认消息处理成功后完成ack

        开启消费者失败重试机制,多次重试失败后将消息投递到异常交换机,交由人工处理

2.RabbitMQ消息的重复消费问题如何解决的

解决方案
        每条消息设置一个唯一的标识id(再次处理时去数据库查一下数据是否存在)
        幂等方案:【分布式锁、数据库锁(悲观锁、乐观锁)】

3.RabbitMQ中死信交换机?(RabbitMQ延迟队列有了解过嘛)

我们当时一个什么业务使用到了延迟队列(超时订单、限时优惠、定时发布....)
其中延迟队列就用到了死信交换机和TTL(消息存活时间)实现的·

消息超时未消费就会变成死信(死信的其他情况:拒绝被消费,队列满了)
延迟队列插件实现延迟队列DelayExchange

        声明一个交换机,添加delayed属性为true

        发送消息时,添加x-delay头,值为超时时间

4.RabbitMQ如果有100万消息堆积在MQ,如何解决(消息堆积怎么解决)

当生产者发送消息的速度大于消费者处理业务的速度时就会发生消息堆积
解决消息堆积有三种种思路
        增加更多消费者,提高消费速度
        在消费者内开启线程池加快消息处理速度
        扩大队列容积,提高堆积上限,采用惰性队列
                在声明队列的时候可以设置属性x-queuè-mode为lazy,即为惰性队列
                基于磁盘存储,消息上限高
                性能比较稳定,但基于磁盘存储,受限于磁盘10,时效性会降低

5.RabbitMQ的高可用机制有了解过嘛

在生产环境下,我们当时采用的镜像模式搭建的集群,共有3个节点

镜像队列结构是一主多从(从就是镜像),所有操作都是主节点完成,然后同步给镜像节点

主宕机后,镜像节点会替代成新的主(如果在主从同步完成前,主就已经宕机,可能出现数据丢失)

7.那RabbitMQ出现丢数据怎么解决呢?

我们可以采用仲裁队列,与镜像队列一样,都是主从模式,支持主从数据同步,主从同步基于Raft协议,强一致。并且使用起来也非常简单,不需要额外的配置,在声明队列的时候只要指定这个是仲裁队列即可

http://www.xdnf.cn/news/642997.html

相关文章:

  • 【linux】umask权限掩码
  • Java类和对象知识点
  • 从lateral说起
  • Ansible常用Ad-Hoc 命令
  • react问一问
  • Axure 基本用法学习笔记
  • 修复ubuntu server笔记本合盖导致的无线网卡故障
  • 触发进程守护服务的判断因数
  • 《帝国时代1》游戏秘籍
  • 【2025】基于Springboot + vue + 协同过滤算法实现的旅游推荐系统
  • 云手机应该怎么选?和传统手机有什么区别?哪些云手机支持安卓12系统?
  • 第五十节:增强现实基础-特征点检测与匹配
  • springboot中过滤器配置使用
  • 基于RK3576+FPGA+CODESYS工控板的运动控制模块方案
  • 字节跳动GPU Scale-up互联技术白皮书
  • 使用CRTP实现单例
  • [yolov11改进系列]基于yolov11引入双层路由注意力机制Biformer解决小目标遮挡等问题python源码+训练源码
  • 优秀技术文档的构建与优化之道
  • Typescript学习教程,从入门到精通,TypeScript 进阶语法知识点及案例代码详解(13)
  • QStandardItemModel的函数和信号介绍
  • Java单例模式:懒汉模式详解
  • MyBatis-Plus一站式增强组件MyBatis-Plus-kit:打造更优雅的通用CRUD解决方案
  • 15 dart类(get,set,静态,继承,抽象,接口,混入)
  • AUTOSAR图解==>AUTOSAR_SRS_Libraries
  • java数组,ArrayList,LinkedList
  • win主机,Ubuntu,IMX6ULL开发板网络通讯
  • 神经网络学习-Day35
  • 麒麟V10 SP1 2303使用记录(一)安装google浏览器
  • 提高:RMQ问题:【例 3】与众不同
  • 固态硬盘颗粒类型、选型与应用场景深度解析