美文网首页从零学Java笔录凯哥Java-工作总结
RabbitMQ学习系列教程六:Fanout Exchange的

RabbitMQ学习系列教程六:Fanout Exchange的

作者: 凯哥Java | 来源:发表于2019-07-15 09:53 被阅读0次

    Fanout Exchange:

    不处理路由键,只需要简单的将队列绑定到交换机上。

    发送到交换机的消息都会被转发到该交换机绑定的所有队列上

    Fanout交换机转发消息是最快的。

    Fanout Exchange交换机可以简单的理解为广播站。

    上面几句话,在生活中有个很常见的示例:在大学中,我们知道每天都会有广播站放出美妙的音乐。广播站是面向全校所有师生的,所有它的消息转发的是最快的。

    运行示意图:

    代码演示:

    生产者:

    在生产者,我们只是声明了交换机名称。不用声明routingkey的值。

    接下来我们来看看消费者端代码:

    在消费者端代码中,我们同样没有设置routingkey的值。

    启动查看:

    先启动consumer端,到页面中查看queues列表:

    点击进去查看绑定的交换机:

    其中 routingkey是空的。

    我们启动生产者,看看:

    启动生产者之后,消费者获取到信息:

    生产者发送消息及绑定的队列:

    我们发现,生产者的routingkey也是空。

    问题:是不是因为我们在代码中没有设置routingkey 所有不会有?

    那么我们修改代码:

    修改生产者的routingkey:

    消费者的routingkey依然为空:

    在页面中查看:

    Queues:

    Exchange:

    我们发现,就算我们修改了生产者的routingkey,页面上依然是空的。

    启动生产者和消费者。查看消费者是否消费了:

    消费成功。说明,fanout类型的交换机和routingkey无关。正是因为和routingkey无关。所以这种方式是最高效的。

    下节预告:下一节,我们将讲解rabbitmq的另外一个概念:Bingding—绑定

    欢迎访问凯哥个人博客:www.kaigejava.com

    凯哥公众号:凯哥Java(kaigejava)

    相关文章

      网友评论

        本文标题:RabbitMQ学习系列教程六:Fanout Exchange的

        本文链接:https://www.haomeiwen.com/subject/amsgkctx.html