第17章 MQ(一)

本文深入探讨了MQ(消息队列)的基本概念,包括其作为数据结构的特性,核心功能如流量消峰、应用解耦和异步处理,以及常见的MQ分类如ActiveMQ、RabbitMQ、Kafka和RocketMQ。接着,文章详细阐述了RabbitMQ及其遵循的AMQP协议,解释了AMQP的架构和内部组件。同时,分析了使用MQ的潜在缺点,如系统可用性降低、复杂性和一致性问题。此外,文章还讨论了RabbitMQ的工作模式,包括简单模式、工作队列模式、发布/订阅模式等,并介绍了RabbitMQ如何确保消息的可靠传输,如发布确认模式和消息持久化。最后,文章提到了RabbitMQ中消息分发的策略以及如何通过幂等性保证消息不被重复消费。

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

17.1 谈谈你对MQ的理解

难度:★

重点:★★

白话解析

MQ也要有一跟主线,先理解它是什么,从三个方面去理解就好了:1、概念;2、核心功能;3、分类。

1、概念:MQ(Message Queue),消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递。说白了就是一个先进先出的队列,用来存消息数据的一个数据结构。

2、核心功能:

  • 流量消峰:说白了就是起到缓冲的中间层作用。当流量突然激增的时候,后台没有足够线程来处理,此时就可以把消息先存在队列里面,缓解后台压力。

  • 应用解耦:让两个应用不直接交互,而是让一个中间层起到连线的作用。例如下单操作时,即使后台服务挂掉了,也不会导致整个应用停掉。因为前端依然可以下单,然后下单的消息可以先存在队列里面。后台服务啥时候重启,啥时候去队列里面消费就好了。

  • 异步处理:还是可以理解成缓冲的概念,当前端发起请求下订单的时候,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

木木_2024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值