kafka vs rocketmq: 不要只顾着吞吐量而忘了延迟这个指标

简介: 这篇文章讨论了Apache RocketMQ和Kafka的对比,强调RocketMQ在低延迟、消息重试与追踪、海量Topic、多租户等方面进行了优化,特别是在小包非批量和大量分区场景下的吞吐量超越Kafka,适合电商和金融领域等高并发、高可靠和高可用场景。

自从 RocketMQ 进入 Apache 基金会后,团队大力发展社区生态,包括和 Apache Spark,Apache Flink,Apache Storm,Apache Ignite 等顶级开源产品有了更多的生态连接与整合能力。

如果是应对一些高并发,高可靠以及高可用比较苛刻的场景,Apache RocketMQ 是一个不错的选择。

RocketMQ 在低延迟,消息重试与追踪,海量 Topic,多租户,一致性多副本,数据可靠性等问题上进行了大量优化,对电商,金融领域的用户来说,是一大利好。

ZeroMQ 不是一个 MQ,所以这里不提了。Kafka 为大数据吞吐为王的日志处理而生,早先在 Batch 模式下,具有碾压其它同类产品的品质。这两年,在满足了阿里集团核心消息诉求后,我们先后两次对 RocketMQ 进行了革命式优化,前年主要做了双十一交易链路的长尾慢请求优化,在延迟方面已经超越 Kafka。具体的数据可以参考这篇文章 [3]。

吞吐方面,在小包非批量以及大量分区的场景下(现实应用更广泛的场景),RocketMQ 更能充分利用磁盘的 IO 能力达到更高的 TPS(领先 Kafka 一倍左右)。在大包和批量的场景下,RocketMQ 和 Kafka 目前已经相差无几,此时的瓶颈已经转移到磁盘的吞吐能力上。

相关文章
|
16天前
|
消息中间件 Java Kafka
消息传递新纪元:探索RabbitMQ、RocketMQ和Kafka的魅力所在
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。其中,RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型;RocketMQ 则是由阿里巴巴开源的具备高性能、高可用性和高可靠性的分布式消息队列,支持事务消息等多种特性;而 Kafka 作为一个由 LinkedIn 开源的分布式流处理平台,以高吞吐量和良好的可扩展性著称。此外,还提供了使用这三种消息队列发送和接收消息的代码示例。总之,这三种消息队列各有优势,适用于不同的业务场景。
32 3
|
1月前
|
消息中间件 存储 监控
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别,设计目标、适用场景、吞吐量、消息存储和持久化、可靠性、集群负载均衡
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
|
2月前
|
消息中间件 Cloud Native Kafka
AutoMQ vs Kafka: 来自小红书的独立深度评测与对比
当前小红书消息引擎团队与 AutoMQ 团队正在深度合作,共同推动社区建设,探索云原生消息引擎的前沿技术。本文基于 OpenMessaging 框架,对 AutoMQ 进行了全面测评。欢迎大家参与社区并分享测评体验。
42 2
AutoMQ vs Kafka: 来自小红书的独立深度评测与对比
|
29天前
|
消息中间件 存储 RocketMQ
2分钟看懂RocketMQ延迟消息核心原理
本文从源码层面解析了RocketMQ延迟消息的实现原理,包括延迟消息的使用、Broker端处理机制以及定时任务对延迟消息的处理流程。
2分钟看懂RocketMQ延迟消息核心原理
|
1月前
|
消息中间件 Prometheus 监控
使用jmx exporter采集kafka指标
使用jmx exporter采集kafka指标
78 4
|
19天前
|
消息中间件 存储 Kafka
一招让Kafka达到最佳吞吐量
一招让Kafka达到最佳吞吐量
|
1月前
|
消息中间件 存储 关系型数据库
Kafka 与 RabbitMQ 如何选择使用哪个?
Kafka 与 RabbitMQ 如何选择使用哪个?
25 1
|
2月前
|
消息中间件 存储 缓存
面试题Kafka问题之Kafka的生产消费基本流程如何解决
面试题Kafka问题之Kafka的生产消费基本流程如何解决
34 1
|
2月前
|
消息中间件 Kafka API
面试题Kafka问题之RabbitMQ的扩展和二次开发如何解决
面试题Kafka问题之RabbitMQ的扩展和二次开发如何解决
24 1
|
2月前
|
消息中间件 存储 RocketMQ
消息队列 MQ使用问题之进行超过3天的延迟消息投递,采用多次投递的策略是否有风险
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。