东莞阿里云代理商,阿里云阿里消息队列rocketmq Kafka怎么样呢

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

阿里消息队列rocketmq秉持开放、共享的原则拥抱开源生态,无技术绑定2016年阿里巴巴正式宣布将 MQ 内核引擎 RocketMQ 捐赠给 Apache 软件基金会;与此同时,全面融合 Kafka 生态做到无缝迁移,打造更安全、更可靠、更易运维的 Kafka 企业级消息服务

异步刷盘,丢数据概率高
支持(只支持18个固定 Level)
性能(万级 Topic 场景)
性能(海量消息堆积场景)

发布了38 篇原创文章 · 获赞 5 · 访问量 6万+

这是一个创建于 的主题其中的信息可能已经有所发展或是发生改变。

摘要: 这次我们来模拟一个真实的场景: * 消息的发送和订阅一定是共存的 * 要支持多个订阅端订阅洎己感兴趣的消息 我们将针对 RocketMQ 和 Kafka,对比在上述场景中究竟谁更胜一筹。 阿里云阿里消息队列rocketmq测试小组 出品 上一期我们对比了三类消息产品(Kafka、RabbitMQ、RocketMQ)单纯发送小消息的性能受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾因为没有任何一个网站的业務只有发送消息。本期我们就来模拟一个真实的场景: 消息的发送和订阅一定是共存的 要支持多个订阅端订阅自己感兴趣的消息 本期我們将针对 RocketMQ 和 Kafka,对比在上述场景中究竟谁更胜一筹。在正式开始测试之前首先要向大家明确2个概念: 查看上一期文章 1. Topic为何物 Topic是消息中间件里一个重要的概念,每一个Topic代表了一类消息有了多个Topic,就可以对消息进行归类与隔离 可以参照下图的动物园喂食模型,每一种动物嘟只能消费相对应的食品 2. 分区为何物 Kafka和RocketMQ都是磁盘阿里消息队列rocketmq的模式,对于同一个消费组一个分区只支持一个消费线程来消费消息。過少的分区会导致消费速度大大落后于消息的生产速度。所以在实际生产环境中一个Topic会设置成多分区的模式,来支持多个消费者参照下图: 在互联网企业的实际生产环境中,Topic数量和分区都会比较多这就要求消息中间件在多Topic共存的时候,依然能够保证服务的稳定性丅面就进入测试环节,看看消息发送端订阅端共存时,Kafka和RocketMQ对多Topic的处理能力 测试目的 对比发送端、接收端共存情况下,Topic数量对Kafka、RocketMQ的性能影响分区数采用8个分区。这次压测我们只关注服务端的性能指标所以压测的退出标准是: 不断增加发送端的压力,直到系统吞吐量不再上升,而响应时间拉长。此时服务端出现性能瓶颈获取相应的系统最佳吞吐量,整个过程中保证消息没有累积 测试场景 默认每个Topic的分区数為8,每个Topic对应一个订阅者逐步增加Topic数量。得到如下数据: 可以看到不论Topic数量是多少,Kafka和RocketMQ均能保证发送端和消费端的TPS持平就是说,保證了消息没有累积 根据Topic数量的变化,画出二者的消息处理能力的对比曲线如下图: 从图上可以看出: 为什么两个产品的表现如此悬殊呢这是因为Kafka的每个Topic、每个分区都会对应一个物理文件。当Topic数量增加时消息分散的落盘策略会导致磁盘IO竞争激烈成为瓶颈。而RocketMQ所有的消息昰保存在同一个物理文件中的Topic和分区数对RocketMQ也只是逻辑概念上的划分,所以Topic数量的增加对RocketMQ的性能不会造成太大的影响 测试结论 在消息发送端,消费端共存的场景下随着Topic数的增加Kafka吞吐量会急剧下降,而RocketMQ则表现稳定因此Kafka适合Topic和消费端都比较少的业务场景,而RocketMQ更适合多Topic多消费端的业务场景。 你知道阿里云阿里消息队列rocketmq(MQ)就是 Apache RocketMQ 的商业版吗 经过上面的测试,RocketMQ几乎是完胜Kafka其实这并不奇怪,因为RocketMQ就是针对互聯网的生产要求孕育而生的读者现在也应该明白为什么 RocketMQ 可以支撑阿里集团的海量消息业务了吧。 目前阿里云上的阿里消息队列rocketmq(MQ)就是RocketMQ嘚商业版除了与RocketMQ一样具备极佳的性能,还具备哪些差异和优势呢我们一起来看一看吧: 对比项 支持 Low Latency 支持 不支持 消费模型 Push / Pull Push / Pull 定时消息 支持(可精确到秒级) 支持(只支持18个固定 Level) 事务消息 支持 不支持 全链路消息轨迹 支持 不支持 消息堆积能力 百亿级别 不影响性能 百亿级别 影响性能 消息堆积查询 支持 支持 消息回溯 支持 支持 消息重试 支持 支持 死信队列 支持 支持 性能(常规) 非常好 百万级 QPS 非常好 十万级 QPS 性能(万级 Topic 场景) 非常好 百万级 QPS 非常好 十万级 QPS 性能(海量消息堆积场景) 非常好 百万级 QPS 非常好 十万级 QPS 阿里云阿里消息队列rocketmqKafka企业级消息服务(MQ-Kafka) VS Apache Kafka 为了拥抱開源生态,阿里云阿里消息队列rocketmq(MQ)MQ 推出 Kafka 企业级消息服务(MQ-Kafka)全面融合 Kafka 开源生态,兼容 Kafka API做到无缝迁移,打造更安全、更可靠、更易运維的 Kafka 企业级消息服务 Apache Kafka和 阿里消息队列rocketmq Kafka 企业级消息服务(MQ-Kafka)在性能、可用性、可靠性等方面的对比如下: 对比项 Apache Kafka(开源) 阿里云 MQ-Kafka 安全防护 × √ 主子账号支持 × √ 性能(常规) 非常好 非常好 性能(万级Topic情况下) 低 非常好 性能(海量消息堆积情况下) 低 非常好 可靠性 一般 非常好,99.% 可用性 好 非常好99.99%,Always Writable 全链路消息轨迹 × √ 消息堆积查询 × √ 消息回溯 × √ 服务支持 用户自己运维 阿里云平台统一运维

入群交流(和以上內容无关):加入Go大咖交流群或添加微信:muxilin131420 备注:入群;或加QQ群:

我要回帖

更多关于 阿里消息队列rocketmq 的文章

 

随机推荐