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

RabbitMQ常见面试题回答重点

文章目录

  • 什么是消息队列?
  • 为什么需要消息队列
  • 消息队列的模型
  • 消息队列常见名词
  • 如何保证消息不丢失?(可靠性)
  • 如何保证消息不重复/业务幂等性
  • 如何保证消息有序性
  • 如何处理消息堆积
  • 消息队列设计为推送还是拉取 / 推拉模式优点
  • 无法路由的消息怎么处理的
  • 消息什么时候会进入死信交换机
  • 死信队列有哪些应用
  • 聊一聊AMQP协议
  • RabbitMQ的事务机制
  • RabbitMQ核心名词
  • RabbitMQ中的routing key 以及 binding key 最大长度是多少字节?
  • RabbitMQ工作模式
  • RabbitMQ集群模式
  • RabbitMQ延迟队列实现

什么是消息队列?

  • 异步通信

为什么需要消息队列

  • 异步处理

  • 服务解耦

  • 流量控制

消息队列的模型

  • 队列模型
  • 发布/订阅 模型

消息队列常见名词

  • 生产者 / 消费者 /Broker / 队列 /主题

  • 消息确认

  • 死信队列

  • 命名服务

  • 集群

  • 分区和队列

  • 消费组

在这里插入图片描述

如何保证消息不丢失?(可靠性)

  • 生产者消息确认
  • 消费者消息确认
  • 消息持久化

如何保证消息不重复/业务幂等性

  • 消息ID去重
  • 结果业务逻辑优化

如何保证消息有序性

  • 顺序队列(RabbitMQ)
  • 分区与顺序键(Kafka、RocketMQ)

如何处理消息堆积

  • 排除代码原因例如BUG
  • 限流 / 降级
  • 消费者扩容
  • 批量消费
  • 异步消费

消息队列设计为推送还是拉取 / 推拉模式优点

  • 推:实时
  • 拉:限流

无法路由的消息怎么处理的

  • 丢弃
  • 指定备份交换机(死信交换机/队列)
  • Return Listener 回退机制

消息什么时候会进入死信交换机

  • 被拒绝且requeue设置为false
  • 过期 ttl到期
  • 超出max-length

死信队列有哪些应用

  • 拒绝消息
  • 处理类似超时订单的业务
  • 队列限流
  • 实现延迟队列

聊一聊AMQP协议

  • 应用层
  • 面向消息、异步
  • 五大组成
  • 交换机类型
  • 可靠传输
  • 对比MQTT
  • 对比JMS

RabbitMQ的事务机制

  • 消息发送原子性
  • 发布确认模式
  • 性能瓶颈

RabbitMQ核心名词

  • 生产 /消费
  • 交换机
  • 队列
  • Binding
  • Routing Key

RabbitMQ中的routing key 以及 binding key 最大长度是多少字节?

  • 255

RabbitMQ工作模式

  • simple
  • work
  • 发布 /订阅
  • routing
  • topic
  • rpc
  • 发布 /确认

RabbitMQ集群模式

  • 标准集群
  • 镜像集群
  • 联邦集群

RabbitMQ延迟队列实现

  • 死信队列+TTL
  • 延迟消息插件

相关文章:

  • C++ 2025 展望:现代编程需求与新兴技术驱动下的变革
  • 后端如何生成验证码
  • 机器人进阶---视觉算法(五)仿射变换和投影变换有什么区别
  • Apache RocketMQ 荣获 2024 开源创新榜单“年度开源项目
  • 【图片转PDF工具】如何批量将文件夹里的图片以文件夹为单位批量合并PDF文档,基于WPF实现步骤及总结
  • 数据仓库 vs 数据湖:架构、应用场景与技术差异全解析
  • 【区块链技术解析】从原理到实践的全链路指南
  • C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue
  • Spring Boot集成Keycloak
  • 【NLP 67、知识图谱】
  • fpga系列 HDL:tips 初始化错误排查 仿真和实际不符的可能原因
  • 23种设计模式-结构型模式之代理模式(Java版本)
  • CENTOS 7 安装VNC
  • 电脑安装CentOS系统
  • 邀请函 | 「软件定义汽车 同星定义软件」 TOSUN用户日2025·杭州站
  • vscode使用remote ssh插件连接服务器的问题
  • 全景VR是什么?全景VR有什么热门用途?
  • Spark-SQL 四(实验)
  • opcua批量读取变量
  • FlaskRestfulAPI接口的初步认识
  • 新闻1+1丨居民水电气计量收费乱象,如何治?
  • 湖南平江发生一起意外翻船事件,6人不幸溺亡
  • 动力电池、风光电设备退役潮来袭,国家队即将推出“再生计划”
  • 王东杰:重审康有为的“大同世界”
  • IPO周报|本周暂无新股申购,上周上市新股中签浮盈均超1.6万
  • 俄官员称乌克兰未遵守停火,乌方暂无回应