rabbitmq几种工作模式_10分钟认识RabbitMQ的五种工作模式

什么是Rabbit

3e44b22cd520b0dea7f9e979e94c4d7d.png

让我来免费帮你免费翻译翻译

RabbitMQ是一个消息中间件:它接受和转发消息。你可以把它想象成一个邮局:当你把你想要寄的邮件放到一个邮箱里,你可以确定邮递员先生或女士最终会把邮件送到收件人那里。在这个类比中,RabbitMQ是一个邮箱、一个邮局和一个邮递员。

RabbitMQ和邮局之间的主要区别在于它不处理纸张,而是接受、存储和转发二进制blob数据消息。

五种工作模式

cbfa8df2260c53b8bc388d2159e46d86.png

打开RabbitMQ的官网选择快速开始,我们可以看到官方给出了6种工作模式,那么问题来了我为什么只介绍五种呢,答案就是第六种我不会,我摊牌了。 20623966ff0e859057fee49d8a0d4151.png 简单模式

05edc032c50281685d4ee0f082f51fc1.png

简单粗暴,简单模式就是非常简单的模式,一个生产者,一个消费者,一个队列。生产者发送消息存储到队列,消费者监听队列,当监听到队列中有消息时,会将队列中的消息取出来,这条消息被消费之后队列中就没有这条消息了。over!

工作模式

8a6b6c1ff3a64da07ca773ac48ef71b6.png

看图也能看出来工作模式就是多了一个消费者帮忙干活啦,消费者发送消息到队列,多个消费者监听同一个队列,进行抢占式消费,默认是轮询模式,一人一次,不偏不倚。消息被消费之后队列中将清空这条消息。

发布订阅模式

a686693fd660921b16e67e5bd11d089c.png

图中的x是交换机(有并发语言erlang开发的,是rabbitmq中重要的组件,实现客户端并发稳定处理.)交换机有4种类型fanout,direct,topic,headers分别对应发布订阅模式,路由模式,主题模式(通配符模式)和头交换机模式。

发布订阅模式就是生产者将消息发送到交换机,交换机将消息转发到与自己有绑定关系的队列中,队列将消息发送给监听自己的消费者,与工作模式不同的是消息被消费之后并不会被清除,当有新的消费者监听这个队列的时候这个队列还会将消息在发送给新的消费者。就像是公众号一样我发布你订阅。

路由模式

47eedd642f8e44cd1271aa773b1c5d51.png

路由模式嘛其实就是发布订阅模式的升级版,路由模式使用的是type为direct的交换机,交换机与队列进行绑定的时候会使用路由Key,就是图中的orange,black和green。生产者向交换机发送消息的时候会携带路由Key,交换机会将该条消息转发给通过该路由Key绑定的队列,队列与消费者的关系就和发布订阅模式一样啦。

主题模式(通配符模式)

ec33d18b8df23814c69584b06ac9c88e.png

主题模式嘛其实就是路由模式的灵活版本,主题模式使用type为topic的交换机,交换机与队列建立绑定关系的路由Key可以使用通配符,*可以匹配任意一个字符,#可以匹配0个或多个字符。例如*.*.rabbit可以匹配 我是rabbit的路由Key。其他的地方就和路由模式完全一样啦。over!20623966ff0e859057fee49d8a0d4151.png

下一篇文章我会介绍这五种工作模式对应的Spring AMQP的实现方式,先放一张预告。

93563e7a8cfc26fb7b59a2eda9f52c9d.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值