rabbitMQ rocketMQ kafka 优缺点 适用场景总结对比
rabbitMq
优点:
开箱即用,轻量级,迅捷。支持非常灵活的路由配置。客户端支持的编程语言最多。
缺点:
对消息对接的支持不好,消息大量积压时性能下降。
性能跟其他两个相比最差,根据硬件配置不同 大概处理几万到十几万消息。
Erlang语言开发 比较小众 跟现在主流的编程语言不属于一个体系结构不易上手,做扩展或者二次开发不友好。
适用场景:
对性能和消息队列功能没有很高要求的只需要一个开箱即用的MQ建议使用。
rocketMQ
优点:
低延迟,性能、稳定性、可靠性都非常不错。有非常活跃的中文社区。java开发,源代码相对比容易读懂,容易扩展和二次开发。
毫秒级响应,性能比rabbitMQ高一个数量级,每秒大概处理几十万条。
缺点:
在国外不流行周边生态系统的集成和兼容程度略逊一筹。
适用场景:
处理在线业务
kafka
优点:
拥有强大的性能及吞吐量,兼容性很好
缺点:
攒一波消息在处理,延迟性高。不过可以通过配置lingms 来改变延迟。
适用场景
处理海量消息,收集日志,监控信息,大数据,流计算。