中间件速查手册
消息队列交换机

Exchange 是什么?

接收消息并按规则路由到队列,本身不存消息

类比:邮局的分拣中心,按地址把信分到不同邮袋

它是什么

生产者从不直接把消息发给队列,而是发给 Exchange,由 Exchange 根据类型和绑定规则决定投递到哪些队列。这是 RabbitMQ 路由灵活的根本原因。

四种类型

选哪种类型,取决于你想怎么表达「这条消息该给谁」。

  • Direct:routingKey 完全相等才投递,最常用
  • Fanout:忽略 routingKey,广播给所有绑定队列
  • Topic:routingKey 支持 * (一级)和 #(多级)通配
  • Headers:按消息头匹配,性能差,几乎不用

没绑队列会怎样

Exchange 不存消息,如果没有任何队列绑定,消息会被直接丢弃且生产者不一定知道。开启 mandatory 或 publisher confirm 才能发现这种情况。

它出现在这些中间件里

相关问题

相关概念