一、为什么要使用MQ
1. 异步:快速返回
2. 解耦:解除依赖
3. 削峰填谷
二、MQ的缺点
1. 系统可用性降低,因为MQ可能会挂
2. 系统复杂性提高,要考虑消息重复、丢失、顺序等问题
3. 数据一致性问题,生产者并不知道消费者是否真正消费了
三、怎么保证MQ消息不丢失
1. 生产者丢失数据,confirm机制
2. MQ丢失数据,持久化到磁盘
3. 消费者丢失数据,确认机制
四、怎么保证MQ高可用性
1. 单机模式
2. 普通集群模式,无法做到真正的高可用
3. 镜像集群模式,高可用但是性能低