RabbitMQ学习总结(七)之交换机的概念与四个基本类型

9 篇文章 1 订阅
2 篇文章 0 订阅

        作者处于学习阶段,刚刚完成RabbitMQ的学习,作为学生,我会用更通俗的说法,来叙述自己对RabbitMQ的了解。愿各位大佬看到有见解错误的地方和叙述不好的地方,能够帮忙纠正。来帮助大家更加深入的了解RabbitMQ。

1.交换机的概念

        RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产 者甚至都不知道这些消息传递传递到了哪些队列中。 相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来 自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是应该把这些消 息放到特定队列还是说把他们到许多队列中还是说应该丢弃它们。这就的由交换机的类型来决定。

2.交换机的个人理解(通俗来讲)

        RabbitMQ中生产者者不会直接将消息发送给队列,而是需要一个工具进行接受和发送,此工具便是交换机,交换机根据消息类型来传给不同的队列。

3.绑定

        就是交换机和队列之间进行绑定,如图交换机Y就与队列A1和A2进行了绑定

4.交换机的类型

        4.1直接(direct)

        个人理解:

         直接交换机就是根据路由键(routing Key)来绑定队列的。交换机根据消息中所携带的路由键来匹配对应的队列。

         图解:交换机与队列A绑定的路由键就是error、与队列A2绑定的就是world和hello。生产者携带路由键为error便可到达队列A1,通过hello或world便可找到队列A2

           

        4.2主题(topic)

                可以在绑定交换机和队列时设置*.hello.*、*.*.world、error.#等。消息可以添加选择,而不是单纯的相同查询。

                1.*可以代替一个单词

                2.#可以替换零个或多个单词

                如图:当绑定队列是,主题队列便可以设置如图这样的路由键。如果消息携带的主题键为h1.hello.h2便可以进入队列A2,但如果携带路由键为h1.hello.h2.h3便无法到达队列A2。如果消息携带路由键为error.h1.h2便可以到达队列A1,#不会限制单词的数量,而*只允许一个单词。

        4.3头(headers)

        头交换机和主题交换机类似,主题交换机的路由是基于路由键,头交换机的路由值基于消息的header数据。主题交换机路由键只有是字符串,而头交换机可以是整型和哈希值。头交换机应用较少,了解概念即可。

        4.4扇出(fanout)

        扇出交换机就是将消息发送给所有队列,交换机会将收到的消息同时发送给队列A1和队列A2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱分享的小邓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值