Fork me on GitHub

RabbitMQ广播模式

RabbitMQ广播模式

Fanout 交换机

工作原理

Fanout 交换机会将接收到的消息广播给所有与之绑定的队列,不考虑路由键。每个绑定到 fanout 交换机的队列都会接收到消息。

使用场景

  • 广播消息:所有消费者都需要接收到相同的消息。
  • 日志广播:将日志消息广播给多个日志处理服务。

Direct 交换机

工作原理

Direct 交换机根据消息的路由键(routing key)将消息定向传递到绑定的队列。每个队列绑定时指定一个路由键,只有消息的路由键匹配时,消息才会被传递到该队列。

使用场景

  • 精确匹配:需要将消息发送到特定的队列,例如特定的日志级别(info, warning, error)。
  • 定向通知:不同类型的消息传递给不同的消费者。

Topic 交换机

工作原理

Topic 交换机根据路由键模式匹配(模式匹配允许使用通配符)将消息传递到绑定的队列。路由键可以是一个点号分隔的字符串,绑定键可以包含通配符 *(匹配一个单词)和 #(匹配零个或多个单词)。

使用场景

  • 复杂路由:根据消息内容的多个维度进行路由,例如按地区和服务类型进行消息分发。
  • 多级过滤:例如,日志系统中按服务和日志级别过滤。
posted @ 2024-05-22 16:50  秋夜雨巷  阅读(280)  评论(0编辑  收藏  举报