Kafka 与 RocketMQ 核心概念与架构对比

Kafka 与 RocketMQ 核心概念与架构对比

DeepSeek生成,便于记忆大概逻辑

核心概念对比图

共同概念 Producers
生产者 Consumers
消费者 Messages
消息 RocketMQ 核心概念 Message Queues
消息队列 Topic ConsumeQueue
消费队列 Message Tags
消息标签 Consumer Groups
消费者组 Brokers
代理服务器 NameServer
命名服务 Kafka 核心概念 Partitions
分区 Topic Replicas
副本 Offsets
偏移量 Consumer Groups
消费者组 Brokers
代理服务器

Kafka 架构图

消费者集群 Kafka 集群 主题与分区 订阅 订阅 订阅 订阅 Consumer Consumer Consumer Consumer ZooKeeper集群
元数据管理 ZK Node ZK Node ZK Node Broker 集群 Broker 1 Broker 2 Broker 3 Topic A Partition 0
Leader:B1 Partition 1
Leader:B2 Partition 2
Leader:B3 Topic B Partition 0
Leader:B2 Partition 1
Leader:B3 生产者集群 Producer Producer Producer

RocketMQ 架构图

消费者集群 RocketMQ 集群 生产者集群 主题与队列 发布消息 发布消息 发布消息 订阅消费 订阅消费 订阅消费 订阅消费 Consumer Consumer Consumer Consumer NameServer 集群
服务发现 NameServer NameServer Broker 集群 Broker Group A Broker Master Broker Slave Broker Group B Broker Master Broker Slave Topic A Queue 0 Queue 1 Queue 2 Topic B Queue 0 Queue 1 Producer Producer Producer

消息生产消费流程对比

Producer Broker Consumer Kafka 消息流程 1. 发送消息到指定Topic/Partition 2. 消息持久化并分配Offset 3. 拉取指定Topic/Partition的消息 4. 返回消息及Offset 5. 提交已消费的Offset RocketMQ 消息流程 1. 发送消息到指定Topic 2. 消息持久化到CommitLog 3. 异步构建ConsumeQueue 4. 拉取指定Topic/Queue的消息 5. 返回消息及位置信息 6. 返回消费状态(ACK) Producer Broker Consumer

核心概念详细说明

Kafka 核心概念

  1. Topic(主题):消息的逻辑分类,类似于数据库中的表
  2. Partition(分区) :每个Topic可以分为多个分区,提供并行处理能力
    • 每个分区是一个有序、不可变的消息序列
    • 分区可以分布在不同的Broker上
  3. Offset(偏移量):分区中每条消息的唯一标识符
  4. Producer(生产者):向Kafka主题发布消息的客户端
  5. Consumer(消费者):订阅主题并处理消息的客户端
  6. Consumer Group(消费者组) :一组消费者共同消费一个主题
    • 每个分区只能被组内的一个消费者消费
  7. Broker(代理):Kafka集群中的每个服务器节点
  8. Replica(副本) :分区的备份,提供高可用性
    • Leader副本处理所有读写请求
    • Follower副本从Leader同步数据

RocketMQ 核心概念

  1. Topic(主题):消息的逻辑分类
  2. Message Queue(消息队列) :类似于Kafka的分区,但有一些差异
    • 提供并行处理能力
    • 消息在队列中先进先出
  3. Producer(生产者):消息发送者
  4. Consumer(消费者):消息接收者
  5. Consumer Group(消费者组):一组消费者共同消费一个主题
  6. Broker(代理):RocketMQ服务器,负责消息存储和转发
  7. NameServer(命名服务) :轻量级的服务发现组件
    • 管理Broker和Topic的路由信息
  8. Tag(标签):消息的二级分类,用于更细粒度的消息过滤
  9. CommitLog(提交日志):所有消息的物理存储文件
  10. ConsumeQueue(消费队列):逻辑队列,存储消息在CommitLog中的位置

关键差异总结

特性 Kafka RocketMQ
服务发现 使用ZooKeeper 使用NameServer
消息存储 按分区存储 所有消息存储在CommitLog,逻辑队列存储索引
消息过滤 基于分区 基于Tag和SQL表达式
消息顺序 分区内有序 队列内有序
事务消息 支持 支持更完整的事务机制
延迟消息 有限支持 支持18个延迟级别
消息重试 需要自行实现 内置死信队列和重试机制

这些图表和说明展示了Kafka和RocketMQ的核心概念和架构差异,帮助理解两者的设计哲学和适用场景。

相关推荐
科技小花6 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
2501_948114246 小时前
2026年大模型API聚合平台技术评测:企业级接入层的治理演进与星链4SAPI架构观察
大数据·人工智能·gpt·架构·claude
FserSuN6 小时前
LangChain DeepAgent 多 Agent 架构原理学习
架构·langchain
坏孩子的诺亚方舟6 小时前
RTL设计师攻略0_架构与微架构
架构·cpu·面试攻略
智星云算力6 小时前
本地GPU与租用GPU混合部署:混合算力架构搭建指南
人工智能·架构·gpu算力·智星云·gpu租用
Devin~Y7 小时前
高并发电商与AI智能客服场景下的Java面试实战:从Spring Boot到RAG与向量数据库落地
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
熊猫钓鱼>_>8 小时前
从“流程固化“到“意图驱动“:大模型调智能体调Skill架构深度解析
ai·架构·大模型·llm·agent·skill·openclaw
Agent产品评测局9 小时前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
AI成长日志10 小时前
【AI原生开发实战】1.2 传统开发 vs AI原生开发:思维转变与架构差异
服务器·架构·ai-native
戮戮10 小时前
Spring Cloud Gateway 零拷贝参数校验:一种高性能网关架构实践
java·网络·架构·gateway