【架构篇】技术选型-消息队列

一、什么是消息队列?

消息队列(Message Queue, MQ)是一种异步通信机制,通过中间 Broker 来暂存生产者发送的消息,供消费者按需消费。它在分布式系统中常用于解耦、削峰填谷、实现异步处理。

核心组成:

  • Producer(生产者):发送消息的一方。
  • Consumer(消费者):接收并处理消息的一方。
  • Broker(代理):消息中间件服务端,负责存储、转发消息。
  • Queue/Topic(队列/主题):消息的分类标识。

类比理解:

可以把消息队列想象成一个“电子邮局”,生产者把信件投递到邮箱(MQ),消费者从邮箱取信阅读,整个过程是非实时的、异步的


二、消息队列的核心作用

作用 描述
解耦 生产者和消费者无需直接对接,降低系统依赖性
异步处理 提升系统响应速度,避免阻塞主线程
削峰填谷 缓冲突发流量,防止后端服务崩溃
可靠传输 支持持久化、ACK确认机制,确保消息不丢失
横向扩展 易于水平扩展,适应高并发场景

三、典型使用场景

1. 异步处理

比如用户注册后发送验证码、下单后发放优惠券,这类操作不需要立即完成,但必须可靠执行。

优势:主流程快速返回,用户体验更好。

2. 应用解耦

订单系统与物流系统之间通过 MQ 解耦,订单完成后通知物流系统发货。

优势:系统独立开发、部署、维护,风险可控。

3. 流量削峰

双十一秒杀、演唱会抢票等瞬时高峰场景,MQ 可以缓冲大量请求,保护底层服务。

优势:系统稳定性更高,不会因为瞬间流量爆炸而宕机。


四、主流消息队列对比(最新版)

特性 / 队列 RabbitMQ Kafka RocketMQ ActiveMQ Pulsar

你可能感兴趣的:(架构,消息队列,架构)