滴滴社招面试题:为什么用RabbitMQ
1.为什么要用MQ?为什么要用RabbitMQ?
mq的本质是解决通信问题
不同语言编写的软件集成在一起。起到一个代理的作用.
broker名字的由来!帮助我们转发消息!
2.MQ有什么作用!使用mq实现了什么样的业务目的?
金融机构和人民银行通信,就是用的一个重量级的mq。
协议不统一。tcp承受的访问压力太大,所以使用mq异步的通信方式。
异步转账
转账成功,具体到账时间以对方行为准
MQ低延迟 ms
多线程或者线程池会引起线程管理的麻烦
消息队列独立运行的服务器上
message queue 队列,有个基础属性,FIFO
京东淘宝有峰值,如果都发送到后端,会造成服务器的崩溃,但是又不能拒绝,可以削峰。
削峰:讲前端的请求变成消息,发送到mq,后台的服务器再按照自己的能力处理。
为什么要用mq?1.在系统之间实现异步的通信 。2.实现系统依赖关系的结偶。3.削峰。
JMS : Java Message Service 缺点:跟java语言绑定的。不能真正的实现跨语言跨平台。最多算一个API.
想用相同的接口,对接不同的mq的产品。
AMQP: Advanced Message Queue Protocal 高级消息队列协议。 跨语言 、跨平台 。工作在应用层。
附:应用层协议 http stmp