RabbitMQ:
优点:轻量,迅捷,容易部署和使用,拥有灵活的路由配置
缺点:性能和吞吐量较差,不易进行二次开发
RocketMQ:
优点:性能好,稳定可靠,有活跃的中文社区,特点响应快
缺点:兼容性较差,但随意影响力的扩大,该问题会有改善
ActiveMQ:
目前,消息队列在各大互联网平台,尤其是电商平台如京东、淘宝、去哪儿等网站有着深入的应用,主要作用是高并发访问高峰,通过异步消息模式减少网站响应时间,提高系统吞吐量。ActiveMQ作为众多MQ中的一员,而且也是最老牌的一员,有其优势:1)多编程语言多协议支持。2)完全支持JMS1.1和J2EE 1.4规范 3)对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去 4)从设计上保证了高性能的集群。
Kafka:
优点:拥有强大的性能及吞吐量,兼容性很好
缺点:由于“攒一波再处理”导致延迟比较高,有可能消息重复消费
作为一个有着丰富经验的微服务架构师,经常有人问我:“应该选择 MQ 还是 Kafka ?”。基于某些原因,许多开发者会把这两种技术当作等价的来看待。的确,有些案例场景下选择 RabbitMQ 还是 Kafka 没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。
小编这期的专题总结市面上不常见到的技术点拉满的四大主流消息中间件学习笔记,归类整理了MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka等的纯手写的实战+原理整合笔记,有需要的同学文末自取!
第一份资料:Kafka实战笔记
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
- Kafka的集群
- 第一个Kafka程序
- Kafka的生产者
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
Kafka实战之削峰填谷
第二份资料:ActiveMQ实战笔记
- ActiveMQ入门
- ActiveMQ的安装
- 原生JMS API操作ActiveMQ
- Spring与ActiveMQ整合
- SpringBoot与ActiveMQ整合
- ActiveMQ消息组成与高级特性
- ActiveMQ企业面试经典问题
结尾
这不止是一份面试清单,更是一种”被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。
多的人,帮助他人,快乐自己,最后,感谢您的阅读。
由于细节内容实在太多啦,在这里我花了两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!