RabbitMQ的工作模式

1、简单模式

图片来自于官网
消息生产者将消息方式到队列中,消费者监听队列,如果队列中有消息,则取出消费,在消费者取出消息后队列将自动删除该消息。

2、工作模式

图片来自于官网
消息生产者将消息发送到队列中,一个队列有多个消费者监听,则多个消费者之间存在着竞争关系,消息会会被消费者谁先拿到谁先消费。高并发情况下,会产生某条消息会被多个消费者共同使用,这时可以添加一个开关(syncronize与同步锁)保证每个消息只被一个消费者消费。

3、发布/订阅模式

图片来自于官网
x表示rabbitmq的内部组件交换机,队列绑定到交换机上,消息发送到交换机中,交换机会将消息分发给所有绑定到交换机的队列中,监听队列的消费者就可以拿走消息消费。

4、路由模式

图片来自于官网
路由模式是通过指定交换机的路由键来指定消息发往哪个队列。交换机在接受到消息生产者发送的消息之后会根据路由键来进行消息匹配,将消息发往键值匹配的队列中。(有指向性的发送)

5、主题模式

图片来自于官网
主题模式是路由模式的一种,路由模式是通过路由键来指定消息发送的队列,主题模式的路由规则不单单局限于固定的键值,可以通过自己定义匹配规则,满足规则匹配的消息会发往指定的队列中。

6、RPC模式

图片来自于官网
RPC模式是在客户端发送请求消息之后服务器接受到请求消息返回响应给客户端的模式。在RabbitMQ中使用回调队列即可实现。当客户端的请求消息发送到消息队列时,我们可以在消息中指定一个回调队列的参数(图中reply_to=amqp.gen-Xa2…即为回调队列信息)以及指定一个关联id,这个id唯一标识请求消息,当请求消息发往消息队列时,服务器从消息队列中取出消息执行任务,服务器通过消息中的reply_to字段中的队列信息将响应发送到回调队列中,客户端在接受到回调队列中的消息之后比较关联id是否与请求中的值匹配,如果匹配则返回响应数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值