RabbitMQ应用场景和原理解析------RabbitMQ

什么是MQ,MQ是message queue消息队列的简写
我们这里用的MQ就是以消息中间件的形式的消息队列
解决的问题就是我们的异步处理
以注册业务为例子,当用户注册完成,信息写入数据库后'
发送注册成功的邮件和短信这两个操作就可以是异步的形式执行
我们把用户注册成功的消息放在MQ里面
发送短信的服务模块和发送邮件的服务模块可以在MQ里获取这个消息
当他们获取到消息以后,再执行他们自己的业务

什么是MQ,MQ是message queue消息队列的简写
我们这里用的MQ就是以消息中间件的形式的消息队列
解决的问题就是我们的异步处理
以注册业务为例子,当用户注册完成,信息写入数据库后'
发送注册成功的邮件和短信这两个操作就可以是异步的形式执行
我们把用户注册成功的消息放在MQ里面
发送短信的服务模块和发送邮件的服务模块可以在MQ里获取这个消息
当他们获取到消息以后,再执行他们自己的业务

应用解耦合场景
比如下订单操作,需要订单系统和库存系统交互,假如库存系统的接口出现了变化,如参数变动等
订单系统如果还是远程服务调用,就会出现问题,需要对订单系统也进行修改
但是引入MQ以后,就可以让订单系统在下单完成以后,发一个消息到消息队列,包含核心信息
然后库存系统订阅了这个消息,从中获取到重要的信息如下单人等xxx
这样两边都通过订阅服务的方式,而不是远程调用接口,就可以达到应用解耦合的目的
不管你那边接口什么的怎么变化,我这边只要核心的几个信息就可以了,而且是通过订阅得到

 应用解耦合场景
比如下订单操作,需要订单系统和库存系统交互,假如库存系统的接口出现了变化,如参数变动等
订单系统如果还是远程服务调用,就会出现问题,需要对订单系统也进行修改
但是引入MQ以后,就可以让订单系统在下单完成以后,发一个消息到消息队列,包含核心信息
然后库存系统订阅了这个消息,从中获取到重要的信息如下单人等xxx
这样两边都通过订阅服务的方式,而不是远程调用接口,就可以达到应用解耦合的目的
不管你那边接口什么的怎么变化,我这边只要核心的几个信息就可以了,而且是通过订阅得到

流量控制场景
比如瞬时秒杀业务,瞬间对服务器的压力巨大,有可能导致我们资源耗尽然后宕机
我们可以让大量的下单请求去消息队列,然后我们在慢慢处理消息队列的消息就可以了
就避免了服务瞬间遇到巨大压力,我们的下订单,减库存等操作,就可以慢慢执行,一条一条来
不需要瞬间承受巨大压力(本质上就是让后台订阅大并发请求,让服务根据处理能力来)
实现了削峰效果

 流量控制场景
比如瞬时秒杀业务,瞬间对服务器的压力巨大,有可能导致我们资源耗尽然后宕机
我们可以让大量的下单请求去消息队列,然后我们在慢慢处理消息队列的消息就可以了
就避免了服务瞬间遇到巨大压力,我们的下订单,减库存等操作,就可以慢慢执行,一条一条来
不需要瞬间承受巨大压力(本质上就是让后台订阅大并发请求,让服务根据处理能力来)
实现了削峰效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值