RabbitMQ 6种工作模式-Topic通配符模式

说明

Topic 类型与 Direct 类似,都是根据 RoutingKey 把消息 发送到不同的队列。

但是 Topic 类型Exchange,在绑定队列时, Routing key 可以使用 通配符

图说明:

  • Q1:绑定的是 *.orange.* ,因此凡是中间是 .orange. 的 routing key 都会被匹配到
  • Q2:绑定的是 *.*.rabbit ,因此像 a.b.rabbit 的 routing key 都会被匹配

队列绑定交换机

需要指定 RoutingKey,一般 RoutingKey 含有 通配符

通配符规则:# 匹配一个或多个词,* 匹配1个词。

如:

  • item.# 能够匹配 item.insert.abc 或者 item.insert

  • item.* 只能匹配 item.insert

发送数据

生产者 发送数据,需要指定 RoutingKey(不含有通配符)

Routingkey 一般都是有 一个 或 多个单词 组成,多个单词之间以 . 分割
如: item.insert

特点

Topic 主题模式可以实现 Pub/Sub 发布与订阅模式和 Routing 路由模式的功能,只是 Topic 在配置routing key 的时候可以使用 通配符,显得更加灵活。