MQ面试题-面试三连问

1.为什么要用MQ?

1)MQ的三个应用场景

1.解耦

2.异步,低延时,提高用户的体验

3.削峰

解耦:场景就是,系统A通过接口,给系统B、C发送数据,如果新来了一个系统D也需要这个数据呢?在系统A中吭哧吭哧写一堆代码,此时如果C系统不需要了这个数据了呢?A系统负责人还要时刻考虑B、C、D系统挂了怎么办?要不要重试?消息要不要重发?A系统负责人头大了。。。。

不使用MQ解耦的图示

 使用MQ解耦图示

 面试技巧

 

异步:场景是,A系统接收到一个请求,需要在本地数据库进行数据操作需要100ms,还需要在B、C、D系统中分别进行数据操作200ms、300ms、400ms,最终请求时间是100ms+200ms+300ms+400ms=1000ms,一秒的请求时间,正常互联网要求请求时间为200ms,对比一下,用户感觉系统慢死了。。。。

不使用MQ的同步高延时请求场景 

使用MQ异步化之后的接口性能优化

 

1、为啥 BCD 需要的时长大于 25ms,A 需要的时长却小于 25ms?

对于异步消息,只需要交给 MQ 之后就无需理会,交给其他系统慢慢处理就行。

削峰:场景,假设每天A系统0点到11点,每秒并发请求数量是100个,到了12~1点, 每秒并发请求数量是一万个,系统最大处理并发数是1000个,此时系统就会被打死。。。。。

不使用MQ高峰期被系统被打死

使用MQ进行削峰的场景

 

 

2)本人项目业务场景 

 当时遇到了 XXX 问题,用了 XXX 消息队列,带来了 XXX 好处

2.MQ的优缺点? 

系统中引入MQ有这么多好处,那有什么弊端呢?如果没考虑过这个,盲目的去为了使用MQ而使用MQ,给公司和团队挖坑。架构中引入MQ,带来的一些问题

引入MQ带来的一些弊端

  

3. 不同MQ的区别及适合场景

 既然用到了MQ,市面上有好多同类型的MQ,流行的有哪几种啊?每一个MQ的优缺点啊?每一个MQ没有绝对的好坏,就是看哪个场景下可以利用优势,扬长避短

常见的MQ有kafka、rabbitMQ、activeMQ、rockerMQ有什么优缺点啊?

 

  

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值