RabbitMQ总结

最近在项目中用到了MQ,所以在这里做个总结。现在好多公司都在用,肯定是因为好处多多了。在这里我就根据我自己的经验进行总结一下RabbitMQ的好处和它的五种队列。

MQ好处

1.帮助应用程序与应用程序之间解耦。

应用场景

redis缓存大广告位的数据的时候。如果后台更新大广告位的数据,需要进行把数据同步到redis中去。

 

解决方案一:在前台系统开放接口,redis的删除接口。

缺点:因为如果前台系统版本更新或做更改,会影响到后端团队的版本升级,耦合度比较高。

 

解决方案二:用MQ进行同步。

这样前台系统与后台系统完全分离,不需要前台给后台提供任何接口,所以前台做任何更改影响不到后台。

  

2.处理高并发起缓冲作用。

应用场景

在秒杀或抢红包的时候,这样的高并发的情况下操作数据库会引起数据库崩溃,这时候,如果把用户的一些订单消息发送到消息中间件中,后期再进行消费处理,保存到数据库中,这样会 大大减少数据库的压力。

 

3.提高吞吐量

当系统中的同步处理方式严重影响了吞吐量,比如日志记录。假如需要记录系统中所有的用户行为日志,如果通过同步的方式记录日志势必会影响系统的响应速度,当我们将日志消息发送到消息队列,记录日志的子系统就会通过异步的方式去消费日志消息。


RabbitMQ五种队列

 1.简单队列



一个生产者对应一个消费者。


2.work模式

 

一个生产者对应多个消费者,一个生产者产生的消息可以供多个消费者消费(但是一个消息只能被其中一个生产者进行消费)

并且可以设置哪个消费者可以多消费,能者多劳。设置它的basicQos方法。


3.订阅模式


中间加层交换机,生产者产生的消息首先发送到交换机上,每个消费者都会有自己的一个队列,交换机会发送消息给各个队列,一个消息可以被多个消费者获取。


4.路由模式


比上一个模式多了一个routing key,生产者发送消息带有routingkey,消费者选择自己需要的消息进行消费,也配置一个routing key


5.通配符模式


比上一个模式多了用通配符可以配置。这样如果消费端如果需要好几种消息的时候,不用一个一个的设置,直接用通配符可以接收自己想要的各种消息。


通常,在项目中会给根据自己的需求去选定这几种模式要用哪一种。除了这些,MQ的容错机制等等一些其它知识过段儿时间再给大家讲解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值