RabbitMQ 的工作模式简介

RabbitMQ 的工作模式简介

  • 1.Work queues

   

一个生产者(Producer)  对应多个消费者(Consumer)  ,多个消费者使用同一个队列接收消息

工作队列模式:

1.一条消息只会被一个消费者消费

2.rabbit采用轮询的方式将消息平均发给消费者

3.消费者在处理完消息后,才会收到下一条消息

  • 2.Publish/subscribe

发布订阅模式:

1.每个消费者监听自己的队列

2.生产者将消息发送给borker,由交换机将消息转发到绑定交换机的每个队列,每个绑定交换机的队列都将接收到消息

3.实际应用中,一个队列可以对应多个消费者,也就实现了Work queues 模式

  • 3.Routing

路由模式:

1.每个消费者监听自己的队列,并且设置routingkey值

2.生产者发送消息给交换机,由交换机根据routingkey的值将消息发送指定的队列

3.从上图看,我们将routingkey的值都设置为error,路由模式也就实现了Publish/subscribe模式的功能

  • 4.Topics

通配符模式:

1.和路由模式相似,只是将路由模式中的routingkey改为统配符,使匹配更加灵活;

2. 两种通配符 :  *和#  每个词中间用.(点)隔开

     * 只能匹配一个词,比如:  aaa.*  可以匹配  aaa.bbb     aaa.ccc

      # 可以匹配一个或多个词;比如:  aaa.#  可以匹配  aaa.bbb     aaa.ccc    aaa.bbb.ccc

  • 5.Header模式

header模式和routing模式的区别在于,header模式取消了routingkey,使用key/value键值对的形式来匹配队列,实际操作中采用Map集合传入参数

  • 6.RPC

RPC模式是客服端远程调用服务端的方法,使用MQ可以实现RPC的异步调用,其基于Direct交换机实现,

实现流程:  

    1.客户端即使生产者也是消费者,向RPC请求队列发送RPC调用消息,同时监听RPC响应队列

    2.服务端监听RPC请求队列,收到消息后执行RPC调用方法,得到返回结果

    3.服务端将RPC方法的响应结果发送给RPC响应队列

    4.客户端收到RPC响应队列中的结果

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值