MQ基础笔记
千里之行,始于足下
正文
一、MQ(消息队列):
1、本质:
MQ(message queue),本质是个队列,FIFO先入先出原则。在互联网架构中,MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务。
2、优缺点:
(1)、优点:
1)、异步:
不同的业务可以同时从消息队列中获取消息进行消费,实现异步处理。
2)、解耦:
将一组处理流程的业务系统差分成多个子系统,使用消息队列作为缓冲,避免某一子系统发生故障造成整个处理流程异常,提升系统的可用性。
3)、削峰:
将短时间大量并发请求作用于消息队列的缓冲中,避免数据库因并发量过大而宕机。
(2)、缺点:
1)、系统可用性降低:
MQ宕机,导致系统崩溃,如何保证消息队列的高可用?
2)、系统复杂度提高:
如何保证消息没有重复消费?如何处理消息丢失的情况?如何保证消息传递的顺序性?
3)、数据一致性问题:
不同消费者进行写库操作,当存在某消费者写库失败时,导致数据不一致问题,如何保证不同消费者消费同时成功?
3、区别与适合场景:
注:技术实力较为一般,技术挑战不是特别高,用RabbitMQ;基础架构研发实力较强,用 RocketMQ;大数据领域的实时计算、日志采集等场景,用Kafka。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人