RocketMQ与Kafka的区别记录

Kafka架构:
在这里插入图片描述RocketMQ架构:
在这里插入图片描述

区别KafkaRocketMQ说明
0拷贝技术sendfilemmapsendfile将数据直接从内核缓冲区传输到网络缓冲区;mmap使用内存映射技术将数据映射到进程的地址空间。
架构-集群管理zk(后续优化为了raft协议)namespace
架构- 存储方式partition(由多个segment组成,属于某一个topic)queue(offset,属于某个topic)+ commitLog(具体数据)RocketMQ解决了Kafka在多topic下造成随机写问题
架构- 备份同步segment文件,每个topic单独建立通信渠道直接同步commitLog
功能-事务简单事务(发送多个消息同时成功或失败)复杂事务(自定义逻辑+发送消息)
功能-消息回溯offsetoffset+时间
功能-更多业务支持延迟队列,消息过滤(消息打标),死信队列根本原因:0拷贝技术。sendfile拿不到具体数据。
### KafkaRocketMQ 的扩展性和性能对比 #### 集群架构管理 Kafka 可以部署在一个或多个服务器上形成集群,这些服务器可以跨越多个数据中心。该集群用于存储按类别划分的记录流,称为主题 (topics),每条记录由键、值和时间戳组成[^1]。相比之下,RocketMQ 同样支持分布式部署,并通过名称服务(NameServer)来管理和发现Broker节点。这种设计使得两个消息队列都可以轻松实现水平扩展。 #### 客户端通信协议 对于客户端到服务器之间的通讯,Kafka 使用了一种简单高效的基于 TCP 协议的方式,此协议具有版本控制并保持向后兼容性;官方提供了Java SDK作为主要接口,同时也存在多种编程语言的支持选项[^2]。而 RocketMQ 则采用自定义二进制协议进行网络传输,在某些场景下可能提供更优的数据吞吐量表现。不过两者都致力于简化跨平台开发工作。 #### 数据处理效率 当涉及到数据复制机制时,Kafka 实现了分区副本同步策略,这有助于提高系统的容错能力和读写速度。另一方面,RocketMQ 引入了异步刷盘技术以及多线程并发消费模型,从而增强了整体的消息传递效能。因此,在高并发环境下,二者都能展现出良好的响应特性。 #### 资源利用优化 MapR Streams 是一种集成于 MapR 收敛数据平台上的解决方案,它允许所有的组件在同一集群中共存运作。这样做不仅减少了
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值