【125期】举例说明消息队列应用场景及ActiveMQ、RocketMQ、Kafka等的对比

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 【125期】举例说明消息队列应用场景及ActiveMQ、RocketMQ、Kafka等的对比

点击上方“Java面试题精选”,关注公众号

面试刷图,查缺补漏

号外:****往期面试题,10篇为一个单位归置到本公众号菜单栏-面试题,有需要的欢迎翻阅

阶段汇总集合:

消息队列应用场景

1、异步处理

小结:如以上案例描述,传统的方式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。如何解决这个问题呢?

因此架构改变后,系统的吞吐量提高到每秒20 QPS。比串行提高了3倍,比并行提高了两倍。

2、应用解耦

如何解决以上问题呢?引入应用消息队列后的方案,如下图:

假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。

往期:

3、流量削峰

2)秒杀业务根据消息队列中的请求信息,再做后续处理。

4、消息通讯

常用消息队列

ActiveMQ、RabbitMQ、RocketMQ、Kafka比较

生产者消费者模式(Producer-Consumer)

ActiveMQ-支持,RabbitMQ-支持,RocketMQ-支持,Kafka-支持。

发布订阅模式(Publish-Subscribe)

ActiveMQ-支持,RabbitMQ-支持,RocketMQ-支持,Kafka-支持。

请求回应模型(Request-Reply)

ActiveMQ-支持,RabbitMQ-支持,RocketMQ-不支持,Kafka-不支持。

ActiveMQ-无,RabbitMQ-无,RocketMQ-阿里云,Kafka-阿里云。

ActiveMQ、RabbitMQ、RocketMQ、Kafka****总体来说

Kafka设计的初衷就是处理日志的,不支持AMQP事务处理,可以看做是一个日志系统,针对性很强,所以它并没有具备一个成熟MQ应该具备的特性。

Kafka的性能(吞吐量、tps)比RabbitMQ要强,如果用来做大数据量的快速处理是比RabbitMQ有优势的。

作者:小怪聊职场 来源:www.jianshu.com/p/1582b37291f9

与其在网上拼命找题?** 不如马上关注我们~**

【125期】举例说明消息队列应用场景及ActiveMQ、RocketMQ、Kafka等的对比

原文始发于微信公众号(Java面试题精选):

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 【125期】举例说明消息队列应用场景及ActiveMQ、RocketMQ、Kafka等的对比


 上一篇
【124期】面试官——谈谈微服务的数据库设计思路吧 【124期】面试官——谈谈微服务的数据库设计思路吧
点击上方“Java面试题精选”,关注公众号 面试刷图,查缺补漏 号外:****往期面试题,10篇为一个单位归置到本公众号菜单栏-面试题,有需要的欢迎翻阅 阶段汇总集合: 单独的数据库微服务设计的一个关键是数据库设计,基本原则是每个服务都有自
2021-04-05
下一篇 
【126期】​​消息队列面试连环炮 【126期】​​消息队列面试连环炮
点击上方“Java面试题精选”,关注公众号 面试刷图,查缺补漏 号外:****往期面试题,10篇为一个单位归置到本公众号菜单栏-面试题,有需要的欢迎翻阅 阶段汇总集合: 目录 项目里怎么样使用 MQ 的? 为什么要使用消息队列? 消
2021-04-05