routing路由模式
Exchange交换机:一方面接收生产者的消息,另一方面是像消息队列推送消息。
匿名转发 “”;
Fanout类型(不处理路由键,只需要将队列绑定到交换机,把消息发送到交换机,
消息被转发到与该交换机绑定的队列)。
Direct (处理路由键,发送时要带一个路由key,队列也需要一个key,如果绑定的队列
与发送的key匹配,就会转发到相应队列)
路由模式:
生产者exchangeDeclare的type为direct 路由模式,routingKey路由键为error。
消费者1中queueBind的type为error。
消费者2中queueBind的type为error,info,warning三个。
两个消费者的路由键都有error,生产者发送消息时,routingKey路由键为error
,结果是多个消费者都能接收到消息:
当生产者的routingKey路由键为info时,消费者1只有error,消费者2有,发送的
结果是只有消费者2能接收到消息,如图:
以上就是routing路由模式的使用,但是还有一些缺点,就是路由表(routingKey)
必须明确,比如 error,info,warning等,不能够匹配。