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 几乎能覆盖其需求,所以线上基本不用。

相关推荐
debug骑士1 小时前
互联网高性能技术系列分享文档(Python / Java / C++ / Go)
rabbitmq
2501_941146702 小时前
高并发RPC框架gRPC与Thrift在互联网系统优化实践经验分享
rabbitmq
SuperHeroWu75 小时前
【HarmonyOS 6】UIAbility跨设备连接详解(分布式软总线运用)
分布式·华为·harmonyos·鸿蒙·连接·分布式协同·跨设备链接
杜子不疼.5 小时前
【探索实战】从0到1打造分布式云原生平台:Kurator全栈实践指南
分布式·云原生
q***69776 小时前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby
2501_941801766 小时前
高性能智能语音识别系统架构设计
rabbitmq
2501_941142647 小时前
人工智能与推荐系统在高并发互联网架构中的优化与工程实践经验分享
rabbitmq
一只会写代码的猫7 小时前
面向企业级分布式系统的Java微服务架构设计与高性能实践深度探索与经验分享
rabbitmq
N***p3657 小时前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq
m***l1158 小时前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq