1.为什么使用消息队列



2.如何选择合适的消息队列
2.1 RabbitMQ:路由灵活、消息可靠性高 | 吞吐量中等
优点

缺点

2.2 Kafka 吞吐量极强 | 默认可靠性低、时延高
优点


缺点

2.3RocketMQ 兼顾高吞吐和高可靠 | 生态较弱
优点


缺点

3.RabbitMQ如何保证消息不丢失 生产者-消息-交换器-队列-消费者


3.1 确保消息到MQ:发送方的确认模式

打开消息发送确认的开关

设置回调函数


3.2消息路由到正确的队列:路由失败通知
开启失败通知;消息路由失败,通知


3.3确保消息在队列正确的存储:交换器、队列、消息都需要持久化
保存到磁盘中
3.4确保消息从队列中正确投递到消费者:手动确认->交给消费者确认


4.什么是MQ中的消息重复
第一类:生产者重复发送


第二类:中间件重复发送


5.如何解决MQ中的重复消息 幂等性




6.如何进行RocketMQ的性能调优







