路由模式其实和订阅模式差不多,只不过交换机的类型不同而已

RabbitMQ 一二事(4) - 路由模式介绍_java

路由模式可以用下图来表示,比订阅模式多了一个key,举个栗子就是根据不同的人群来订阅公众号,来收取消息

RabbitMQ 一二事(4) - 路由模式介绍_rabbitMQ_02

根据不同的key来获取不同的消息

最简单的就是男性用户以及女性用户的关注信息是不同的,推送的内容当然也是根据不同分类来推送

下图就是微信公众号群发的分类,虽然有用户订阅你,但你还是能够根据性别,以及国家甚至其他的标签来推送不同的消息

RabbitMQ 一二事(4) - 路由模式介绍_rabbitMQ_03

官方图示,根据不同的类型,或者可以说是属性,标签,来发送消息

RabbitMQ 一二事(4) - 路由模式介绍_spring_04

把这片代码作为公众号的服务方,定义了一个交换机,并且只会给man发送消息

RabbitMQ 一二事(4) - 路由模式介绍_java_05

接收方1,可以接受为man的消息

RabbitMQ 一二事(4) - 路由模式介绍_j2ee_06

接收方2,可以接受man以及woman的消息

RabbitMQ 一二事(4) - 路由模式介绍_服务器_07

“man”,两个客户端都会收到消息

而“woman”的话就只有一个客户端接收到