中小公司: RabbitMQ ,有后台管理界面,够用,社区活跃
大公司:rocketMQ,阿里系列,怕黄,万一黄了,只有大公司有人力物力做二次开发。如果是大公司,对并发量要求更高,且有人力去维护MQ,可以选择rocketMQ。
大数据公司:kafka,实时计算,日志采集
rocketMQ,相比RabbitMQ ,rocketMQ单机可以撑到10W,RabbitMQ 只是几万; rocketMQ是java开发,RabbitMQ 是erlang开发。但RabbitMQ 有比较好的管理界面。
因为Kafka
设计的初衷就是处理日志的,可以看做是一个日志(消息)系统一个重要组件,针对性很强
一般的业务系统要引入MQ,最早大家都用ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;
后来大家开始用RabbitMQ,但是确实erlang语言阻止了大量的java工程师去深入研究和掌控他,对公司而言,几乎处于不可控的状态,但是确实人是开源的,比较稳定的支持,活跃度也高;
不过现在确实越来越多的公司,会去用RocketMQ,确实很不错,但是我提醒一下自己想好社区万一突然黄掉的风险,对自己公司技术实力有绝对自信的,我推荐用RocketMQ,否则回去老老实实用RabbitMQ吧,人是活跃开源社区,绝对不会黄
所以中小型公司,技术实力较为一般,技术挑战不是特别高,用RabbitMQ是不错的选择;大型公司,基础架构研发实力较强,用RocketMQ是很好的选择
如果是大数据领域的实时计算、日志采集等场景,用Kafka是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范