44.MQ介绍

MQ简介

什么是MQ

  • MQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数据结构。

MQ的应用场景

异步解耦
  • 最常见的一个场景是用户注册后,需要发送注册邮件和短信通知,已告知用户注册成功。传统的做法如下:


    image
  • 此架构下注册,邮件,短信三个任务,全部完成后,才返回注册结果到客户端,用户才能使用账号登录。但是对于用户来说,注册功能实际只需要注册系统存储用户的账户信息后,该用户便可以登录,而后续的注册短信和邮件不是即时需要关注的步骤。
  • 所以实际当数据写入注册系统后,注册系统就可以把其他的操作放入对于的消息队列MQ中然后马上返回用户结果,由消息队列MQ异步地进行这些操作。架构图如下:


    image
  • 异步解耦是消息队列MQ的主要特点,主要目的是减少请求响应时间和解耦。主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时,由于使用了消息队列MQ,只要保证消息格式不变,消息的发送方和接收方不需要彼此联系,也不需要受对方影响,即解耦合。
流量削峰
  • 流量削峰也是消息队列MQ的常用场景,一般在秒杀或团队抢购活动中使用广泛。
  • 在秒杀或团队抢购活动中,由于用户请求量较大,导致流量暴增,秒杀的应用在处理如此大量的访问流量后,下游的通知系统无法承载海量的调用量,甚至会导致系统崩溃等问题而发生漏通知的情况。为解决这些问题,可在应用和下游通知系统之间加入消息队列MQ。


    image

你可能感兴趣的:(44.MQ介绍)