面试题
- 为什么要使用消息队列?
- 消息队列有什么优缺点?
- Kafka、ActiveMQ、RabbitMQ、RocketMQ都有什么区别,以及适合哪些场景?
面试官心理分析
其实面试官主要是想看看:
- 第一:你们为什么要用这个技术?
很多的面试者对于为什么使用这项技术缺乏思考,仅仅是为了用而用,并没有自己的独立思考,对于架构设计也没有全局的概念。 - 第二:对于这个技术的好处和坏处你们是否清楚?
是否对于技术深层次的思考,了解引入新技术的所带来的利弊。如果没有,只是代码的搬运工具,缺乏独立思考。 - 第三:技术选型的考量因素?
市场上成熟的MQ产品很多,没有一款是绝对的完美,有没有考虑过技术选型的问题。
面试题分析
为什么使用消息队列?
其实就是想知道是因为什么原因引入的MQ技术,为了解决哪些问题。面试官期望的回答就是,当初你们公司有一个什么样的业务场景,这个场景有什么样的技术挑战,不用MQ可能会有麻烦,现在引入MQ带来了哪些好处。
通过MQ的好处是:解耦,异步,削峰。
解耦
这个场景通常是发布订阅模式,比如:系统A要给系统B、C、D发送消息。如果这时候新加入一