rabbitMQ消息路由总结

1.当消息发送到交换器(exchange)时,交换器根据消息的topic key选择出订阅该topic的队列(queue),为每个订阅的队列发送一份消息(广播消息).当有多个消费者客户端消费同一队列时,消费者会轮流消费消息(工作队列,争抢资源)

rabbitMQ消息路由总结_第1张图片

 

2.当同一队列名的多个队列绑定多个交换器时,发往这些交换器的消息都会发送到同一个队列中.如果两个消费端为同名队列分别订阅主题,则这些订阅会合并在一个队列上,然后消费端轮流消费消息,而不是只获取自己订阅的消息.(之前我以为交换器不同可以隔离消息范围,会分别对应同名的两个队列.并不是.)

rabbitMQ消息路由总结_第2张图片

 

 

3.如果两个消费端希望实现消息隔离(比如两套环境,放在一套MQ上),有两种方法:不同的exchange+queue,或者不同的queue+topic.

rabbitMQ消息路由总结_第3张图片

 

订阅topic通配符:#代表多个单词,*单表一个单词,.分割单词

如:com.#     

com.*.debug

 

 

(作图软件:https://www.processon.com/)

你可能感兴趣的:(rabbitMQ消息路由总结)