互联网java面试宝典

1.为什么使用消息队列啊?

  答题:

消息队列的核心功能就是:解耦合,异步,流量削峰
解耦:接口调用发送,那如果E系统也要这个数据呢?那如果C系统现在不需要了呢?现在A系统又要发送第二种数据了呢?A系统负责人濒临崩溃中。。。
再来点更加崩溃的事儿,A系统要时时刻刻考虑BCDE四个系统如果挂了咋办?我要不要重发?我要不要把消息存起来?头发都白了啊。。。
----------------------------------------------------------------------------------------------------------
异步:A系统接收一个请求,需要在自己本地写库,还需要在BCD三个系统写库,自己本地写库要3ms,BCD三个系统分别写库要300ms、450ms、200ms。
最终请求总延时是3 + 300 + 450 + 200 = 953ms,接近1s,用户感觉搞个什么东西,慢死了慢死了。
---------------------------------------------------------------------------------------------------------
削峰:每天0点到11点,A系统风平浪静,每秒并发请求数量就100个。结果每次一到11点~1点,每秒并发请求数量突然会暴增到1万条。
但是系统最大的处理能力就只能是每秒钟处理1000个请求啊。。。尴尬了,系统会死。。。
--------------------------------------------------------------------------------------------------------------

2.消息队列有什么优点和缺点啊?

  答:

3.kafka、activemq、rabbitmq、rocketmq都有什么区别以及适合哪些场景?

  答:

猜你喜欢

转载自www.cnblogs.com/q1359720840/p/11027036.html
今日推荐