RabbitMQ Exchange模式之Fanout

原文:http://blog.csdn.net/csethcrm/article/details/51671268

任何发送到Fanout Exchange的消息都会被转发到与该Exchange绑定(Binding)的所有Queue上。


1.这种模式需要提前将Exchange与Queue进行绑定,一个Exchange可以绑定多个Queue,一个Queue可以同多个Exchange进行绑定


2.这种模式不需要RouteKey


3.如果接受到消息的Exchange没有与任何Queue绑定,则消息会被抛弃。


RabbitMQ Exchange模式之Fanout


参考代码:

RabbitMQ Exchange模式之Fanout



调用执行代码:

RabbitMQ Exchange模式之Fanout



查看的执行结果:

RabbitMQ Exchange模式之Fanout


查看exchange(已经与Fanout.1、Fanout.2和Fanout.3绑定了):

RabbitMQ Exchange模式之Fanout



绑定之后,给 Fanout.1、Fanout.2、Fanout.3 任意一个队列发送消息 ,都将同时广播 到 这三个(Fanout.1、Fanout.2、Fanout.3 )队列


例如下代码,给 Fanout.1 发送消息,但 Fanout.2 和 Fanout.3 也被广播到,总消息数为 2 :


RabbitMQ Exchange模式之Fanout