《消息队列》常问面试题
1、为什么要使用消息队列?(消息队列的应用场景)
这个问题主要考察为什么使用消息队列?在项目中为了解决什么问题?
消息队列的本质
- 消息队列是一种“先进先出”的数据结构
- 常见应用场景:解耦、异步、削峰
解耦
订单系统强依赖“支付系统”、“库存系统”、“物流系统”的返回结果。图一为强耦合关系,图二为消息队列解耦后。
异步
流量削峰
2、各种消息队列产品的比较?
特性 | activeMQ | rabbitMQ | rocketMQ | kafka |
---|---|---|---|---|
并发语言 | java | erlang | java | scale |
单机吞吐量 | 万级 | 万级 | 十万级 | 十万级 |
时效性 | ms | us | ms | ms以内 |
可用性 | 高(主从模式) | 高(主从模式 |