RabbitMQ使用

一 工作模式简介

 

1 简单模式
生产者发送消息到队列中,一个消费者从队列中接收消息。ps:在RabbitMQ中消费者只能从队列接收消息。
 
2 工作队列模式
一个消息只能被一个消费者接收,其它消费者是不能接收到同一条消息的。
应用场景:可以在消费者端处理任务比较耗时的时候;添加对同一个队列的消费者来提高任务处理能力。
 
3 发布订阅模式
订阅模式与前面的两种模式比较:多了一个角色Exchange交换机,接收生产者发送的消息并决定如何投递消息到其绑定的队列;消息的投递决定于交换机的类型。ps:交换机只做消息转发,自身不存储数据。
 
4 路由模式
Routing 路由模式要求队列绑定到交换机的时候指定路由key;消费发送时候需要携带路由key;只有消息的路由key与队列路由key完全一致才能让该队列接收到消息。
 
5 通配符模式
Topics通配符模式:可以根据路由key将消息传递到对应路由key的队列;队列绑定到交换机的路由key可以有多个;通配符模式中路由key可以使用 * 和 # ;使用了通配符模式之后对于路由Key的配置更加灵活。
 
二 工作模式特征总结
 
  • 不直接Exchange交换机(默认交换机)
     
    • simple简单模式:一个生产者生产一个消息到一个队列被一个消费者接收
    • work工作队列模式:生产者发送消息到一个队列中,然后可以被多个消费者监听该队列;一个消息只能被一个消费者接收,消费者之间是竞争关系
  • 使用Exchange交换机;订阅模式(交换机:广播fanout、定向direct、通配符topic)
     
    • 发布与订阅模式:使用了fanout广播类型的交换机,可以将一个消息发送到所有绑定了该交换机的队列
    • 路由模式:使用了direct定向类型的交换机,消费会携带路由key,交换机根据消息的路由key与队列的路由key进行对比,一致的话那么该队列可以接收到消息
    • 通配符模式:使用了topic通配符类型的交换机,消费会携带路由key(*, #),交换机根据消息的路由key与队列的路由key进行对比,匹配的话那么该队列可以接收到消息


三 springboot整合rabbitMQ


     Spring Boot提供了对于AMQP的整合;消息生成方可以使用RabbitTemplate发送消息;消息消费方可以使用@RabbitListener注解接收消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值