请列举 RabbitMQ 中主要的交换机类型,并说明各自的转发机制。
考察说明
考查对 RabbitMQ 核心概念交换机的理解与区分能力。
回答思路
- 【回答框架 1】RabbitMQ 交换机用于接收生产者消息并按路由规则分发到队列。主要有四种类型:直连交换机(direct)、主题交换机(topic)、扇形交换机(fanout)和头交换机(headers)。
- 【回答框架 2】direct 交换机根据路由键完全匹配路由到绑定队列,适合点对点或按优先级路由。topic 交换机支持通配符匹配路由键,星号匹配一个词、井号匹配零个或多个词,适合按主题分类的消息。
- 【回答框架 3】fanout 交换机忽略路由键,将消息广播到所有绑定队列,适合发布订阅场景。headers 交换机根据消息头属性匹配,而非路由键,使用较少。
- 【回答框架 4】选择类型需结合业务:精确路由用 direct,多条件订阅用 topic,广播用 fanout,基于头属性匹配时用 headers。
- 【关键点 1】direct 按路由键完全匹配;topic 按通配符模式匹配;fanout 广播至所有绑定队列;headers 按消息头匹配。
- 【易错点 1】不要混淆 topic 与 direct 的匹配规则差异。
- 【易错点 2】fanout 交换机不关心路由键,绑定队列时无需指定 routing key。
- 【易错点 3】headers 交换机性能较低且不常用,避免过度依赖。