题目
- 为什么使用消息队列?
- 消息队列有什么优点和缺点?
- Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
消息中间件各种面试题:
消息中间件面试题:消息丢失怎么办?
消息中间件面试题:消息队列的优缺点,区别
消息中间件面试题:消息中间件的高可用
消息中间件面试题:如何保证消息的顺序性
消息中间件面试题:如何保证消息不被重复消费
消息中间件面试题:如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时呢?
消息中间件面试题:如果让你写一个消息队列,该如何进行架构设计?
面试题剖析
为什么使用消息队列
先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。
解耦
看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃…
在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生