MQ(Message Queue) 消息队列概念
MQ(Message Queue) 消息队列
1. 概念
是一种先进先出的数据结构
2. 应用场景
-
应用解耦
高耦合会导致应用容错性降低,如上图支付库存物流任何一个下游应用因故障或其他原因不可用都会导致上游订单系统异常影响用户体验。
使用消息队列后,下游应用不可用时,上游应用可将要处理的请求缓存在MQ中。当下游应用恢复后处理在消息队列中保存的请求。上游应用感知不到下游应用发生中断。 -
数据分发
通过接口调用分发数据,需要应用系统随数据消费方变化修改代码。
使用消息队列进行数据分发,可使数据生产方不需要关心谁来使用数据。只需要将数据发送至消息队列,数据消费方直接在消息队列中获取数据即可。 -
流量消峰
应用系统如果遇到请求流量瞬间猛增,可能会将系统压垮。一般情况,为了保证系统稳定性,如果系统负载超过阈值,会阻止用户请求,这回影响用户体验。消息队列可将大量请求缓存起来,分散到更长的一段时间处理,从而提高系统稳定性和用户体验。
如果出于经济性角度考量,为了应对流量高峰配置高性能服务器显然不划算,此时可以使用消息队列进行消峰。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-04-11 spring 启动时自动运行
2020-04-11 spring cloud oauth2授权服务 默认tokenService配置源码
2020-04-11 spring cloud 搭建oauth2授权服务 使用redis存储令牌
2020-04-11 spring cloud oauth2授权服务 clientDetails配置源码
2020-04-11 spring 验证框架
2020-04-11 IDEA 插件整理
2020-04-11 spring security笔记 默认登陆页面源码