# 中间件:消息队列必问的 6 个经典问题

作者:Tom哥
公众号:微观技术
博客:https://offercome.cn (opens new window)
人生理念:知道的越多,不知道的越多,努力去学

面对分布式系统架构,为了降低系统间的依赖关联,减少风险时相互间影响,系统解耦是我们常用的一种架构方案。

消息队列也就成为我们首选的中间件框架 ✊

常用的消息框架有很多,如:RabbitMQ、RocketMQ、Kafka、Pulsar 等,虽然种类很多,但都是应用异步场景,有很多共性问题。

今天,我们针对 MQ 消息框架的一些通用问题做下复盘总结,目录如下:

  • 如何保证消息不丢失
  • 如何避免消息重复消费
  • 如何保证消息的有序性
  • 如何解决消息堆积问题
  • 事务消息如何实现
  • 如何保证消息队列的高可用机制

接下来进入正文

# 一、如何保证消息不丢失

首先,我们来看下系统的流程图

上次更新: 2023/3/4