开发者学堂课程【RocketMQ知识精讲与项目实战(第一阶段):各大MQ产品的比较】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/702/detail/12362
各大MQ产品的比较
内容介绍:
一、几大常见 MQ产品
二、几大产品的比较
一、几大常见 MQ 产品
市场上比较常见的 MQ 产品有 ActiveMQ、RabbitMQ、RocketMQ 和 Kafka。
二、几大常见MQ产品比较
特性 |
ActiveMQ |
RabbitMQ |
RocketMQ |
Kafka |
开发者语言 |
Java |
Erlang |
Java |
Scala |
单机吞吐量 |
万级 |
万级 |
10万级 |
10万级 |
时效性 |
ms级 |
us级 |
ms级 |
ms级以内 |
可用性 |
高(主从架构) |
高(主从架构) |
非常高(分布式) |
非常高分布式架构 |
功能特性 |
成熟的产品,在很多公司得到应用;有较多的文档;各种协议支持较好 |
基于erlang开发,所以并发能力很强,性能极其好,延时很低,管理界面较丰富 |
MQ功能比较完备,拓展性佳 |
只支持主要的MQ功能,像一些信息查询,消息回溯等功能未提供,为大数据准备,在大数据领域应用广泛。 |
简介:
1.从开发者语言角度:
其中的 ActvieMQ 和 RocketMQ 采用的开发语言都是 Java 语言。RabbitMQ 采用的 Erlang 语言,相对比较高级。Kafka 在大数据中运用较多。
2. 从单机吞吐量角度:
RocketMQ 和 Kafka 吞吐量都是10万级,吞吐量较高,性能较好。ActiveMQ 和
RabbitMQ 略次,是万级吞吐量。
3. 从时效性角度:
RabbitMQ 的实效性为 us 级,比其他三种更加高级,性能更优秀
4. 从可用性角度:
搭建主从集群环境,需要保证可用性。
RocketMQ 和 Kafka 是支持分布式消息队列的搭建,因此,使用这俩种产品比使用
ActiveMQ 和 RabbitMQ 更方便搭建消息队列。
5. 从功能性角度:
ActiveMQ 出现时间较早,使用较多,现在随着发展,大多数公司开始使用
RocketMQ、RabbitMQ和 Kafka 替代 ActiveMQ。ActiveMQ 的文档较多
RabbitMQ 使用的 erlang 语言,性能较好,缺点是掌握erlang语言的人不多,因此,进行二次开发较困难。
RocketMQ 功能较完善,各方面功能稳定,使用率逐渐增多。
Kfuka 在功能上,没有 RocketMQ 功能丰富。使用的 scala 语言,在二次开发的时候,受众面会小于使用 Java 语言的产品。
6. 总结
从性能上来看,这几个产品都差不多,但选择 RocketMQ 较多。