消息中间件RabbltMQ面试题总结

消息中间件RabbltMQ面试题总结

推荐网课:https://www.bilibili.com/video/BV1up4y1i7TN?from=search&seid=10453874956460120695

本文内容来自于个人学习笔记,网络收集整理。
RabbitMQ官方地址:http://www.rabbitmq.com/

谈谈MQ的优缺点

优点:系统解耦,异步提速,削峰填谷
1.系统解耦:MQ相当于一个中介,让生产者和消费者通过它来进行交互。简单来说就是将两个本来互相影响的系统分离开,降低双方依赖程度,提高系统容错度;
2.异步提速:生产者将业务上不需要同步处理并且耗时长的操作交给消息队列,消息队列通知消费者异步处理。提高系统的响应时间,增加吞吐量;
3.削峰填谷:订单系统或者考试网站的注册系统,总会在短时间内迎来峰值,数据库支持的并发上限不高,这时候就需要消息队列来做限流,先将生产者的请求保存到队列中,再由消费者慢慢消化,这就是削峰,而过了高峰期后,消费者会保持相同的消耗速度来快速消耗掉挤压的消息,这就是填谷。提高系统稳定性。
缺点:系统可用性,系统复杂度,数据一致性
1.系统可用性:系统的可用性委托给了mq,要保证mq的高可用性,mq挂了系统就挂了
2.系统复杂度:同步转为了异步,那就要保证消息不被重复消费,消息不丢失,消息的有序
3.数据一致性:可能存在多个消费者消费同一条消息,可能一条消息被C1,C2消费成功了,但是C3消费失败,这个时候数据的一致性就无法得到保障,以及可能出现的消息幂等性的问题,消息丢失的问题等。

谈谈MQ的应用场景

定时任务(定时订单),顺序消费(消息有一定的前后顺序),请求削峰, 异步通讯
可以看到大部分应用场景,就是充分发挥MQ的几条优点。
什么情况下可以使用mq呢,首先是生产者不需要消费者的及时反馈,允许短暂的数据不一致性,使用了mq后确实有提升效果并且这些效果的价值超过加入MQ,管理MQ,维护MQ的成本。

什么是RabbitMQ,谈一下他和常见mq的异同

RabbitMQ是基于AMQP协议的消息队列。
用erlangyu语言开发,二次开发成本高,RocketMQ用Java开发,容易实现定制,所以扩展性不如RocketMQ

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值