RabbitMQ学习总结(一)

本文以通俗易懂的方式讲解RabbitMQ,涉及其作为消息队列的FIFO原理,如何通过流量削峰、应用解耦和异步处理提升系统性能,以及在电商场景中的具体应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        作者处于学习阶段,刚刚完成RabbitMQ的学习,作为学生,我会用更通俗的说法,来叙述自己对RabbitMQ的了解。愿各位大佬看到有见解错误的地方和叙述不好的地方,能够帮忙纠正。来帮助大家更加深入的了解RabbitMQ。

一、MQ的基本概念和MQ的特点

1.MQ的介绍

        MQ消息队列,作为科班学生。在我们数据结构的学习中,学习到过队列,队列所遵循的是先进先出原则FIFO。我们学习到的MQ同样也是一种遵循先进先出原则FIFO的一种数据结构。

2.MQ的用途

①流量削峰

        流量削峰更多应用在我们网络拥挤的情况中。比如:商品抢购等情景等。举一个实际的例子,在2017年鹿晗和关晓彤宣布恋情时,就导致了微博服务器的拥挤。面对这种情况我们必然要做相应的措施。如若不做对应的措施,可能会导致系统挂掉,出现“宕机”现象。(宕机:计算机术语,来源为down机。计算机操作系统错误或者硬件出现问题,导致系统长时间无法响应。)于是就有了MQ来解决这个问题。MQ在大量用户需要访问时,应用系统无法承受这大量的用户。可以通过队列来进行缓冲,避免直接访问其业务接口,导致出现的"宕机"现象。

 

②应用解耦

        经典举例:当做电商系统时,收货模块没有异常,能够正常收货。但是订单模块出现问题,就会导致显示为收货失败。实际的收货情况,理应与订单模块没有关系。但是订单模块的错误,导致收货出现了问题。MQ便可解决此问题。可在收货模块收货成功后,将收货信息持久化保留在队列中,可以返回给收货系统收获成功。订单模块订阅发货消息。

③异步处理

        以往A发送给B消息时,假如B需要很长时间才处理完消息。A需要等待很久,或者过一段时间询问一次B,询问是否完成,但是加入MQ之后,A将消息发布后,可以去干别的一些事情。而B在完成消息的处理后,将完成消息发送到MQ当中,再由MQ发送给A。大大提高了系统的性能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱分享的小邓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值