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
  • 延迟消息插件
相关推荐
海棠Flower未眠19 小时前
下单请求处理流程:商品维度分布式锁与 Redis 预扣库存
redis·分布式·junit
罗四强20 小时前
第10篇:打包上架:签名、打包 HAP、发布到华为应用市场
分布式·操作系统·harmonyos·arkts·鸿蒙系统
秋饼20 小时前
Redis 全面解析:从数据结构到主从/哨兵/集群、分布式锁与面试高频考点,代码到原理一次讲透
数据库·redis·分布式·面试·后端开发
二月夜20 小时前
Redis 高频面试题全解:缓存三大问题、大 key 治理与分布式锁之争(2026 招聘 JD 真题复盘)
redis·分布式·后端·缓存
后台模板学习21 小时前
Kafka 与 RabbitMQ 在用户认证与权限管理场景
kafka·rabbitmq·linq
樱花落木兰21 小时前
Redis 消息队列的可靠性演进:从 List、Pub/Sub 到 Stream 消费者组,以及 8.x 版本改变了什么
java·开发语言·经验分享·redis·分布式·python·软件工程
真上帝的左手1 天前
12. 消息队列-Kafka进阶
分布式·中间件·kafka
装不满的克莱因瓶2 天前
支付订单成功异步MQ权益发放设计和开发
java·架构·系统架构·rabbitmq·硬件架构
Thanks_ks2 天前
Cookie 和 Session 到底是什么关系——登录态是怎么维持的
分布式·http·jwt·cookie·session·后端开发·登录态
千里达景区票务系统2 天前
消息队列选型对比:RabbitMQ vs RocketMQ vs Kafka
kafka·消息队列·rabbitmq·rocketmq