ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

RabbitMQ知识1

2026/9/13 18:01:43 拓冰建站 浏览量
RabbitMQ知识1 1. MQ 是什么在互联网中会经常使用 MQ 来作为消息通信服务我们一起来看一下什么是 MQ 吧1.1 MQ 本质【MQ】Message queue消息队列字面意思来看本质是一个队列FIFO先进先出但这里的消息队列只不过队列中存放的是消息消息可以非常简单也可以非常复杂1.2 系统间通信MQ多用于分布式系统之间进行通信系统通信相当于数据传输这里补充介绍一下系统之间的调用通常有两种方式同步通信直接调用对方的服务数据从一端发出后立即就可以到达另一端异步通信数据从一端发出后先进入一个容器进行临时存储当达到某种条件后再由这个容器发送给另一端这个容器的一个具体实现就是MQ2. MQ的作用是什么MQ 的工作是接收并转发消息可以把 MQ 消息队列想象成一个仓库采购部门进货之后把货物放在仓库里生产部门从仓库中取出零件并加工成产品这样类比可能更帮助我们理解仓库放的是物品 MQ 放的是消息仓库负责存储物品并转发物品同样的MQ 负责存储和转发消息2.1 异步解耦在一些业务流程中一些操作可能会非常耗时但并不需要即时返回结果可以借助 MQ 把这些操作异步化可回顾这期内容介绍了解耦等名词【多线程】阻塞队列解耦就是依赖关系减弱举一个栗子比如在用户注册的使用有以下三个事情需要做1用户信息校验2插入数据库其实这个操作用户的数据就已经在数据库了3发送邮件告诉用户比如恭喜你注册成功等类似信息2.2 流量削峰在访问量剧增的情况下应用仍然需要继续发挥作用但是这样的突发流量并不常见如果以能处理这类峰值为标准而投入资源这无疑是巨大的资源浪费使用 MQ 能够使关键组件支撑突发访问压力不会因为突发流量而崩溃比如秒杀活动或者促销活动可以使用 MQ 来控制流量将请求排队系统再根据自己的处理能力逐步处理这些请求使请求是平缓的速度而不是猛增猛降2.3 消息分发当多个系统需要对同一数据做出响应的时候可以使用 MQ 进行消息分发比如支付成功之后支付系统可以向 MQ 发送消息其它系统订阅该消息而不需要轮询数据库举一个栗子比如在购物的时候下单成功有以下几个事情需要做1向商家发送通知2向平台财务部门发送通知2.4 延迟通知需要在特定时间后发送通知的场景中可以使用 MQ 的延迟消息功能比如在电子商务平台中如果用户下单后一定时间内未支付可以使用延迟队列在超时后自动取消订单可以把 MQ 想象一个仓库暂时存储了这些消息到一定时候进行转发~2.5 日志处理MQ 消息队列还可以用于日志处理例如Kafka等消息队列中间件可以接收并存储大量的日志数据供日志处理应用进行订阅和消费通过这种方式可以简化日志处理的架构提高日志处理的效率和可靠性3. 为什么选择 RabbitMQRabbitMQ的综合能力较强并且我们的项目没有那么那么大的高并发RabbitMQ 社区比较活跃同时RabbiMQ 管理界面友好因此本专栏学习 MQ 选择了 RabbitMQ 小伙伴们~接下来我们主要一起来学习RabbitMQ的使用。4. RabbitMQ 是什么可以通过 RabbitMQ 官网更进一步了解RabbitMQ 是采用 Erlang 语言实现AMQPAdvanced Message Queuing Protocol高级消息队列协的消息中间件它最初起源于金融系统领域为了在分布式系统中存储和转发消息设计的~