https://github.com/doocs/advanced-java
1.为什么使用消息队列
其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?
为什么使用消息队列?
消息队列有什么优点和缺点?
Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
解耦、异步、削峰。
2.如何保证消息队列的高可用?
Kafka 一个最基本的架构认识:由多个 broker 组成,每个 broker 是一个节点;你创建一个 topic,这个 topic 可以划分为多个 partition,每个 partition 可以存在于不同的 broker 上,每个 partition 就放一部分数据。
3.* 如何保证消息不被重复消费?(如何保证消息消费的幂等性)
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?https://github.com/doocs/advanced-java/blob/master/docs/high-concurrency/how-to-ensure-the-reliable-transmission-of-messages.md
5.如何保证消息的顺序性?
考虑存的顺序和取的顺序