# 中间件:消息队列必问的 6 个经典问题
作者:Tom哥
公众号:微观技术
博客:https://offercome.cn (opens new window)
人生理念:知道的越多,不知道的越多,努力去学
面对分布式系统架构,为了降低系统间的依赖关联,减少风险时相互间影响,系统解耦是我们常用的一种架构方案。
消息队列也就成为我们首选的中间件框架 ✊
常用的消息框架有很多,如:RabbitMQ、RocketMQ、Kafka、Pulsar 等,虽然种类很多,但都是应用异步场景,有很多共性问题。
今天,我们针对 MQ 消息框架的一些通用问题做下复盘总结,目录如下:
- 如何保证消息不丢失
- 如何避免消息重复消费
- 如何保证消息的有序性
- 如何解决消息堆积问题
- 事务消息如何实现
- 如何保证消息队列的高可用机制
接下来进入正文
# 一、如何保证消息不丢失
首先,我们来看下系统的流程图