消息队列概述

消息队列的理解

概念

分布式消息队列是一种应用之间异步通信的方式,主要由三部分组成生产端、代理、消费端
MQ
生产端:将业务消息进行预处理实例化,产生消息发送给broker。

代理:是整个消息的服务端,核心部分,处理消息单元,负责消息的存储、投递以及队列的一切其他附加的功能

消费端:负责消息的消费,根据消息承载的逻辑进行相应的处理

应用场景

异步处理

在实时性要求不严格的场景,例如用户注册发送验证码、下单通知发送优惠卷等。生产端发出消息给broker后,不用等待消费端给出反馈,可以处理其他业务。消费端处理broker中的信息,异步的给生产端回复结果。
异步处理

应用解耦

将某些相关但耦合度不高的功能进行关联,例如订单系统与优惠卷积分系统。这两个系统有关系但不紧密,就可以利用MQ作为桥梁,利用MQ作为消息传递媒介。也就允许这两部分系统甚至可以采用不同的语言、框架实现。
应用解耦

流量削峰

在类似秒杀场景中的大流量涌入,需求处理不完的一些服务,为了平衡高并发的请求,将大量请求发送给MQ,根据MQ的存储和分发功能平稳处理业务,起到一个大流量缓冲的作用。
流量削锋

常用消息队列中间件

  • ActiveMQ(中小型公司低吞吐量)
  • RabbitMQ
  • Kafka(数据量大,吞吐量要求高)
  • RocketMQ(数据量大,吞吐量要求高)

消息队列概述
http://oowatermelon.github.io/OoWaterMelonS/2022/12/16/消息队列/
作者
OoWaterMelonS Shao
发布于
2022年12月16日
许可协议