Kafka & RocketMQ 核心差异#
一、定位与设计目标#
- kafka 面向日志流、大数据流式计算,优先追求超高吞吐,对消息少量丢失、短暂乱序容忍度高
- rocketmq 面向电商 / 金融核心业务,优先追求消息可靠、业务特性完备,零丢失、保顺序、支持复杂业务逻辑
二、存储架构#
- kafka Topic 拆分为多个Partition,每个分区独立日志文件
- rocketmq 统一写入全局大文件 CommitLog,再异步生成 ConsumeQueue(队列文件)
三、消息顺序#
- kafka 仅保证单个 Partition 内写入与读取顺序一致。
- rocketmq 队列内全程严格保序。
四、消费位点 Offset#
- kafka Offset 由客户端本地维护、定时提交
- rocketmq Offset 持久化在服务端统一管理
五、核心业务功能#
- kafka 无原生分布式事务消息、无定时 / 延迟消息
无内置重试队列、死信队列,异常消息处理、定时任务都需要业务自行实现 - rocketmq 原生两阶段事务消息,保障跨服务数据一致性 内置多级延迟 / 定时消息 自带重试队列、死信队列,自动处理消费失败消息,运维成本低
原创
mq-1
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法