RabbitMQ有多少种Exchange?

面试回答模板

"RabbitMQ 在 AMQP 协议中预定义了 四种常用交换机 + 两种特殊类型,共 6 种:

  1. Direct:routing-key 全等匹配;
  2. Fanout :广播,忽略 key;
  3. Topic:按 *.# 通配符匹配;
  4. Headers :按消息头键值对匹配(性能低,很少用);
  5. System :系统内部保留(如 amq.rabbitmq.trace);
  6. 自定义:通过插件扩展实现。

Java 开发层面 只需关注前 4 种,创建方式相同:
channel.exchangeDeclare("x", BuiltinExchangeType.DIRECT|FANOUT|TOPIC|HEADERS);"

追问场景示例

面试官:为什么实际项目里很少用 Headers?

答:Headers Exchange 在匹配时遍历所有键值对,CPU 开销大,且可读性差,Topic 几乎能覆盖其需求,所以线上基本不用。

相关推荐
居7然1 天前
DeepSeek-7B-chat 4bits量化 QLora 微调
人工智能·分布式·架构·大模型·transformer
失散131 天前
分布式专题——47 ElasticSearch搜索相关性详解
java·分布式·elasticsearch·架构
酷ku的森1 天前
RabbitMQ七种工作模式介绍:
分布式·rabbitmq
济南java开发,求内推1 天前
单个服务器部署多个rabbitmq
运维·服务器·rabbitmq
qqxhb1 天前
系统架构设计师备考第45天——软件架构演化评估方法和维护
分布式·缓存·系统架构·集群·cdn·单体·已知未知评估
默 语1 天前
消息中间件选型的艺术:如何在RocketMQ、Kafka、RabbitMQ中做出正确决策
java·架构·kafka·消息队列·rabbitmq·rocketmq·技术选型
库库8392 天前
Redis分布式锁、Redisson及Redis红锁知识点总结
数据库·redis·分布式
蒙特卡洛的随机游走2 天前
Spark核心数据(RDD、DataFrame 和 Dataset)
大数据·分布式·spark
埃泽漫笔2 天前
Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比
kafka·rabbitmq·activemq
NO.10242 天前
本地缓存怎么在分布式环境下保持一致性
分布式·缓存