Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >为什么kafka延迟比rocketmq延迟高

为什么kafka延迟比rocketmq延迟高

作者头像
JavaEdge
发布于 2022-11-20 08:07:00
发布于 2022-11-20 08:07:00
1.2K0
举报
文章被收录于专栏:JavaEdgeJavaEdge

说kafka延迟比rocketmq延迟高 是有一个前提的 就是topic较多的时候 这个和这2个MQ的数据存储结构有关系的 在topic少的时候延迟基本一致。

kafka的数据存储结构设计师尽可能的保证吞吐量,所以在设计时是尽可能保证log日志小,它的数据结构如下 其中topic是逻辑概念,分区对应就是一个物理文件夹:

所以在topic比较多时,分区文件数量会非常庞大 磁盘顺序读效率还不如随机读效率,则会在topic比较多时 磁盘顺序读就蜕变为随机读,延迟也就高了。

即 kafka 性能对于topic 有阈值(20 个)。

淘宝业务比较复杂,topic会比较多 则为了解决这个痛点 rockertmq 就诞生了 它的数据存储结构 对此做了优化 日志目录只有一个 commit log ,结构如下:

出发点不一样,kafka定位就是处理日志和大数据 在这些业务领域,topic不会太多,延迟问题自然也就没有。

数据存储结构是主要原因,还有就是kafka只支持pull模式。而rocketmq有pull、push两种模式 (虽然这个push模式是假push),push模式延迟肯定是比pull模式延迟低。

push模式是基于pull模式的,本地有个定时线程去pull broker的消息,缓存到本地,然后push到消费线程那边。

rabbit 的push模式 是真的push 所以 延迟最低的就是兔子。 兔子不支持分布式,只支持主从模式 本身设计就是小而美的单机版。cpu消耗比kafka之类低多了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/11/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kafka和RocketMQ实现原理对比
既然有了Kafka为什么还会出现RocketMQ?这就不得不提到RocketMQ的诞生动机了,在RocketMQ的官网上面可以找到这个问题答案,原文可以点击此处阅读。实际原因当然是kafka存在一些问
jaydenwen123
2021/12/27
1.6K0
Kafka和RocketMQ实现原理对比
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
RabbitMQ和Kafka是两种流行的消息传递系统,它们在多个方面存在显著的差异。
寻求出路的程序媛
2024/08/07
4.1K0
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
30分钟带你了解「消息中间件」Kafka、RocketMQ
https://www.open-open.com/lib/view/open1421150566328.html
Yano_nankai
2021/02/01
5600
30分钟带你了解「消息中间件」Kafka、RocketMQ
消息队列之Kafka——从架构技术重新理解Kafka
在Kafka中,客户端和服务器使用一个简单、高性能、支持多语言的 TCP 协议.此协议版本化并且向下兼容老版本, 我们为Kafka提供了Java客户端,也支持许多其他语言的客户端。
用户5546570
2020/05/27
6100
消息队列之Kafka——从架构技术重新理解Kafka
Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比
在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。
java思维导图
2019/12/05
4.3K0
Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比
RocketMQ和Kafka的差异对比
主从差异: kafka的master/slave是基于partition维度的,而rocketmq是基于broker维度的;kafka的master/slave是可以切换的,而rocketmq不行,当rocketmq的master宕机时,读能被路由到slave上,但写会被路由到此topic的其他broker上。
程序狗
2021/12/15
2.1K0
RocketMQ 的基础概念和架构-RocketMQ知识体系1
前面几篇文章分享了kafka 相关的实现逻辑,kafka在大吞吐量方面有较好的表现,但是有时候我们需要实现比较复杂的业务逻辑从而对于吞吐量方面要求不是太高,这个时候我们就可以选择RocketMQ.
DougWang
2021/07/21
3840
RocketMQ详细介绍
RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、延时消息、消息回溯等(业务性比较关注)
默 语
2024/11/22
3640
RocketMQ详细介绍
Kafka【入门】就这一篇!
Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。
我没有三颗心脏
2019/07/18
4530
Kafka【入门】就这一篇!
Kafka、RabbitMQ、Pulsar、RocketMQ基本原理和选型
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,削峰填谷等问题。实现高性能、高可用、可伸缩和最终一致性架构。
黄豆酱
2023/01/01
1.9K0
Kafka【入门】就这一篇!
Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。
Java3y
2019/07/20
8110
17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ
本文将从,Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 17 个方面综合对比作为消息队列使用时的差异。
用户1516716
2019/11/14
1.2K0
RocketMq消息中间件及分布式事务消息实现原理
一次RPC变成两次RPC、内容存储和择机投递;基于消息的通信模式,从关注处理到关注通知。
35岁程序员那些事
2020/02/24
1.1K0
MQ - 闲聊MQ一二事儿 (Kafka、RocketMQ 、Pulsar )
通过日常生活的吃饭场景,形象地解释了消息队列的工作原理,包括消息主题、生产者、消费者、消息存储和消费等核心概念。这些概念抽象起来可能较难理解,但结合具象的例子就很容易理解了
小小工匠
2023/07/25
8040
MQ - 闲聊MQ一二事儿 (Kafka、RocketMQ 、Pulsar )
你应该知道的RocketMQ
在很久之前写过一篇Kafka相关的文章,你需要知道的Kafka,那个时候在业务上更多的是使用的是Kafka,而现在换了公司之后,更多的使用的是Rocketmq,本篇文章会尽力全面的介绍RocketMQ和Kafka各个关键点的比较,希望大家读完能有所收获。
用户5397975
2019/11/26
1.2K0
Pulsar与Rocketmq、Kafka、Inlong-TubeMQ,谁才是消息中间件的王者?
导语 | Pulsar作为下一代消息中间件的典型代表,在设计和实现上面都具备很好的前瞻性,综合考量了业界现存的一些比较常用的、优秀的消息中间的架构设计、适用场景、运营中的问题等,如目前用的比较多的Kafka、Rocketmq、Inlong-TubeMQ等。本文仅从设计角度出发,说明下Pulsar与Kafka、Rocketmq及腾讯开源的Inlong-TubeMQ在实现上的几点区别和可能遇到的问题,供大家参考。 一、云原生多租户设计 (一)分级命名 Pulsar原生支持多租户设计,非常适合作为云产品进
腾讯云开发者
2021/10/27
7840
一篇文章把RabbitMQ、RocketMQ、Kafka三元归一
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/07/12
7500
一篇文章把RabbitMQ、RocketMQ、Kafka三元归一
《浅入浅出》-RocketMQ
消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。
敖丙
2019/12/19
8410
《浅入浅出》-RocketMQ
nsq(有赞分支)、kafka、rocketMq 架构浅析
消息队列是分布式系统中重要的中间件,在实现系统高性能,高可用,可伸缩性和最终一致性架构框架中扮演着重要角色。是大型分布式系统不可缺少的核心中间件之一。
有赞coder
2021/07/20
2.8K1
Apache Kafka 详解
Kafka 是基于 发布与订阅 的 消息系统 。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka
派大星在吗
2021/12/15
8230
推荐阅读
相关推荐
Kafka和RocketMQ实现原理对比
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档