消息队列MQ是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件,其重要性不言而喻。
本篇通过图文并茂的方式,对消息队列MQ来完整详解,助你快速掌握消息队列 MQ 最内核的东西。譬如:消息队列MQ的主流应用场景、主流产品与选型、以及设计一个消息队列MQ该如何下手等。
建议收藏备用!
——不啰嗦了,下面进入正文!嘀嘀!准备上车了!!——
消息队列MQ概述
消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列。
消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。
下图便是消息队列的基本模型,向消息队列中存放数据的叫做生产者,从消息队列中获取数据的叫做消费者。
消息队列MQ应用场景
1.异步处理
消息队列的主要特点是异步处理,主要目的是减少请求响应时间,实现非核心流程异步化,提高系统响应性能。
举一个用户注册的例子,用户注册成功后,系统需要发送注短信注册成功通知,以及赠送注册成功的积分。
1)同步
同步的总耗时:10ms+100ms+100ms=210ms
由于短信通知与增加积分为非核心流程,为了提升系统响应性能,从而我把它改造为异步。
2)异步
改造后就变成上图,之前需要等用户注册10ms+短信通知100ms+增加积分100ms才能返回,现在把短信通知和增加积分改为异步的形式,用户注册后写入消息10ms左右立即返回成功给客户端&#