个人简历面试复习-----rabbitmq篇(一)

目录

1.七种工作模式

[1. 1简单模式(Simple)](#1. 1简单模式(Simple))

核心

角色

适用场景

[1.2 工作队列模式(Work Queues)](#1.2 工作队列模式(Work Queues))

核心

关键特性

适用场景

[1.3 发布 / 订阅模式(Publish/Subscribe)](#1.3 发布 / 订阅模式(Publish/Subscribe))

核心

关键

适用场景

[4. 路由模式(Routing)](#4. 路由模式(Routing))

核心

关键

适用场景

[5. 主题模式(Topics)⭐ 最常用](#5. 主题模式(Topics)⭐ 最常用)

核心

通配符规则

示例

适用场景

[6. 头部模式(Headers)](#6. 头部模式(Headers))

核心

关键

适用场景

[7. RPC 模式(Remote Procedure Call)](#7. RPC 模式(Remote Procedure Call))

核心

流程

适用场景

[7 种模式对比速查表](#7 种模式对比速查表)

核心总结


1.七种工作模式

1. 1简单模式(Simple)

核心

最简单的一对一模式 :1 个生产者 → 1 个队列 → 1 个消费者无交换机,直接使用默认交换机(AMQP default)

角色

  • 生产者:发送消息到队列
  • 队列:存储消息
  • 消费者:监听并消费消息

适用场景

单一功能的简单业务,如:单线程日志记录、简单通知

1.2 工作队列模式(Work Queues)

核心

一对多竞争消费 :1 个生产者 → 1 个队列 → 多个消费者 消息只能被一个消费者消费,实现负载均衡

关键特性

  • 默认:轮询分发(平均分配消息)
  • 配置后:能者多劳(处理快的消费者多消费)

适用场景

任务异步处理、流量削峰,如:订单处理、视频转码

1.3 发布 / 订阅模式(Publish/Subscribe)

核心

广播模式 :1 个生产者 → 1 个交换机(fanout) → 多个队列 → 多个消费者所有绑定的消费者都能收到全量消息

关键

交换机类型:fanout(扇形 / 广播)不处理路由键,直接群发所有队列

适用场景

全员通知、多系统同步数据,如:公告推送、缓存更新

4. 路由模式(Routing)

核心

定向分发 :生产者 → direct 交换机 → 按路由键 匹配队列只有路由键完全匹配的消费者才能收到消息

关键

交换机类型:direct(直连)必须指定 routing key 绑定

适用场景

按类型筛选消息,如:错误日志单独推送、订单状态定向通知

5. 主题模式(Topics)⭐ 最常用

核心

模糊匹配路由 :生产者 → topic 交换机 → 通配符路由键支持模糊匹配,比路由模式更灵活

通配符规则

  • *:匹配一个单词
  • #:匹配零个或多个 单词单词分隔符:.

示例

路由键:user.order.pay匹配:user.*.*、user.#、#.pay

适用场景

复杂业务筛选,如:按用户 / 商品 / 订单类型精准推送

6. 头部模式(Headers)

核心

不使用路由键 ,通过消息头(headers) 匹配队列基于键值对匹配,性能较差,极少使用

关键

交换机类型:headers匹配规则:x-match(all/any)

适用场景

极特殊的复杂匹配需求(优先用主题模式替代)

7. RPC 模式(Remote Procedure Call)

核心

远程调用模式 :客户端发送消息 → 服务端处理 → 原路返回结果实现同步调用,像调用本地方法一样调用远程服务

  1. 客⼾端发送消息到⼀个指定的队列, 并在消息属性中设置replyTo字段, 这个字段指定了⼀个回调队列, ⽤于接收服务端的响应.
  2. 服务端接收到请求后, 处理请求并发送响应消息到replyTo指定的回调队列
  3. 客⼾端在回调队列上等待响应消息. ⼀旦收到响应,客⼾端会检查消息的correlationId属性,以 确保它是所期望的响应

流程

  1. 客户端发送请求(带唯一 ID)
  2. 服务端消费处理
  3. 服务端发送响应到回调队列
  4. 客户端接收响应

适用场景

需要同步等待结果的场景,如:支付校验、数据查询

7 种模式对比速查表

模式 交换机类型 核心特点 消息消费方式 推荐度
简单模式 默认 一对一 一个消费者消费 ⭐⭐
工作队列 默认 一对多竞争 一个消费者消费 ⭐⭐⭐⭐
发布订阅 fanout 广播 所有消费者消费 ⭐⭐⭐
路由模式 direct 精准路由键匹配 匹配的消费者消费 ⭐⭐⭐⭐
主题模式 topic 模糊路由键匹配 匹配的消费者消费 ⭐⭐⭐⭐⭐
头部模式 headers 消息头匹配 匹配的消费者消费 ⭐
RPC 模式 默认 同步请求响应 双向通信 ⭐⭐⭐

核心总结

  1. 基础场景:简单模式、工作队列
  2. 广播场景:发布 / 订阅(fanout)
  3. 精准匹配:路由模式(direct)
  4. 复杂匹配 :主题模式(topic)------ 企业最常用
  5. 特殊场景:头部模式(不用)、RPC 模式(同步调用)
相关推荐
晨米酱3 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
彧azz3 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
CoderYanger3 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
爱学习的执念3 天前
助力金九银十1000道软件测试面试题(功能、接口、自动化、WEB、APP.......)附答案
软件测试·面试
小的~~3 天前
银河麒麟V10 ARM部署TDengine(涛思)工业时序数据库安装与测试
面试·程序员创富
2401_832298103 天前
人机协同:AI时代全新工作与学习范式
职场和发展
童园管理札记3 天前
从政策驱动到课堂落地:2026年“人工智能+教育”全景解读与技术实践指南
人工智能·python·深度学习·职场和发展·学习方法
小刘在重生~3 天前
Oracle_day2 单行函数|组函数|分组|伪列|子查询|分页|多表连接
笔记·oracle·面试
Sam_Deep_Thinking3 天前
关于java final关键字的可见性
java·后端·面试·程序员
yuanxi2003 天前
卡塔尔能源公司LNG扩建项目首条生产线预计明年投运:大客户销售的5个判断
职场和发展·创业创新·学习方法