【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?_rabbitmq的作用

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

一、什么是RabbitMQ

二、RabbitMQ是干什么的

三、RabbitMQ的常见作用有那些

四、RabbitMQ的应用场景有那些

场景一用户订单库存处理。【服务间解耦】

场景二用户注册发送手机短信邮件。【实现异步通信】

场景三商品秒杀和抢购。【流量削峰】


一、什么是RabbitMQ

答RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件简单来说就是一个消息中间件。是一种程序对程序的通信方法其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成。


二、RabbitMQ是干什么的

答RabbitMQ简单来说就是一个消息队列中间件用来保存消息和传递消息的一个容器。在此过程中充当一个中间人的作用。

 而队列的主要目的就是提供正确的路由来保证消息的传递如果发送消息时消费者不可用的话默认情况下该消息将会一直被存储在队列中直到消费者消费为止。

那么同时呢如果设置了消息存活的时间即消息的有效期。在此有效期间消息如果还没有被消费的话那么该消息就会变成死信由死信交换机接收。而绑定死信交换机的队列则称为死信队列。


三、RabbitMQ的常见作用有那些

答RabbitMQ的常见作用有三种分别是服务间解耦、实现异步通信、流量削峰

主要实现了消费者和生产者之间的解耦发送异步消息高并发访问解决流量削锋等问题。实现高性能高可用可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。

常见的应用常见有用户订单库存处理用户注册发送手机短信邮件商品秒杀和抢购等...


四、RabbitMQ的应用场景有那些

场景一用户订单库存处理。【服务间解耦】

使用MQ前系统正常时用户下单订单系统调用库存系统进行删减操作操作成功将成返回消息提醒下单成功。系统异常时库存系统将无法访问导致订单删减操作无法执行最终导致下单失败。

使用MQ后订单系统和库存系统之间不在互相影响独立运行达到了应用解耦的目的。订单系统只需要将下单消息写入MQ,就可以直接执行下一步操作。这时即使库存系统出现异常也不会影响订单系统的操作且下单的库存删减记录将会被永久保存到MQ中直到库存系统恢复正常从MQ中订阅下单消息进行消费成功为止。

使用MQ前

 使用MQ后

场景二用户注册发送手机短信邮件。【实现异步通信】

使用MQ前整个操作流程全部在主线程完成。点击用户注册 --》 入库添加用户 --》发送邮件 --》发送短信。每一步都需要等待上一步完成后才能执行。且每一步操作的响应时间不固定如果请求过多会导致主线程请求耗时很长响应慢甚至会导致死机的情况出现严重影响了用户的体验。

使用MQ后主线程只需要处理耗时较低的入库操作然后把需要处理的消息写进MQ消息队列中然后由不同的独立的邮件系统和发短信系统同时订阅消息队列中的消息进行消费。这样通过消息队列作为一个中间人去保存和传递消息不仅仅耗时低消耗的资源也很少且单个服务器能够承受的并发请求将更多。

场景三商品秒杀和抢购。【流量削峰】

流量削峰是消息队列中常用的场景 一般在秒杀或团购活动中使用广泛。

使用MQ前对于秒杀、抢购活动用户访问所产生的流量会很大甚至会在同一时间段出现上万上亿条请求这股瞬间的流量暴涨我们的应用系统配置是无法承受的会导致系统直接崩溃死机。

例如A系统平时每秒请求100个系统稳定运行 但是晚上8点有秒杀活动 每秒并发增至1万条 系统最大处理每秒1000条 于是导致系统崩溃。 

使用MQ后我们在大量用户进行秒杀请求时将那个巨大的流量请求拒在系统业务处理的上层并将其转移至MQ中而不是直接涌入我们的接口。在这里MQ消息队列起到了缓存作用。

例如100万用户在高峰期每秒请求5000个将这5000个请求写入MQ系统每秒只能处理2000请求因为MySQL只能处理2000个请求 ; 系统每秒拉取2000个请求 不超过自己的处理能力即可。

使用MQ前

使用MQ后


 写到最后

四季轮换已经数不清凋零了多少 愿我们往后能向心而行一路招摇胜

🐋 你的支持认可是我创作的动力

💟 创作不易不妨点赞💚评论❤️收藏💙一下

😘 感谢大佬们的支持欢迎各位前来不吝赐教

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: RabbitMQ

“【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?_rabbitmq的作用” 的相关文章