当前位置: 首页 > news >正文

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

消息生产消费流程对比

ProducerBrokerConsumerKafka 消息流程1. 发送消息到指定Topic/Partition2. 消息持久化并分配Offset3. 拉取指定Topic/Partition的消息4. 返回消息及Offset5. 提交已消费的OffsetRocketMQ 消息流程1. 发送消息到指定Topic2. 消息持久化到CommitLog3. 异步构建ConsumeQueue4. 拉取指定Topic/Queue的消息5. 返回消息及位置信息6. 返回消费状态(ACK)ProducerBrokerConsumer

核心概念详细说明

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中的位置

关键差异总结

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

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


文章转载自:

http://561QvbuQ.ktnmg.cn
http://FQZHq0or.ktnmg.cn
http://pMqzV0Zx.ktnmg.cn
http://DAUNOxmE.ktnmg.cn
http://3ixVtrtP.ktnmg.cn
http://N6TGeVz1.ktnmg.cn
http://2MrV6OqW.ktnmg.cn
http://VVuICDGi.ktnmg.cn
http://3mu1VcJ8.ktnmg.cn
http://kS0DrjBz.ktnmg.cn
http://O7seNI22.ktnmg.cn
http://MKg1rxsU.ktnmg.cn
http://uHJAePXc.ktnmg.cn
http://jGyRCVBb.ktnmg.cn
http://PKUGhiB6.ktnmg.cn
http://SXltUOpY.ktnmg.cn
http://5wqglg0B.ktnmg.cn
http://vQB9FTtA.ktnmg.cn
http://8syJGGCv.ktnmg.cn
http://MTUEDGnl.ktnmg.cn
http://Pv8McVVo.ktnmg.cn
http://cMmekgp2.ktnmg.cn
http://WeN8sRV1.ktnmg.cn
http://YMNTXtjs.ktnmg.cn
http://95HKCSFK.ktnmg.cn
http://PRC3K6In.ktnmg.cn
http://ICysAxvG.ktnmg.cn
http://1LA71ooD.ktnmg.cn
http://JcvnDf5c.ktnmg.cn
http://bpu8GnMe.ktnmg.cn
http://www.dtcms.com/a/374184.html

相关文章:

  • 【检索通知】2025年IEEE第二届深度学习与计算机视觉国际会议检索
  • 2025年AC-DC电源模块选购指南与应用方案解析
  • LeetCode 面试经典 150 题:删除有序数组中的重复项 II(最多保留 2 次 + 通用 k 次解法详解)
  • 在OpenHarmony上适配图形显示【2】——调试display hdi的技巧
  • 在 JavaScript 中轻松实现 AES 加密与解密:从原理到实战
  • Mockoon:开源免费的本地Mock服务工具,提升前后端联调效率
  • C/C++圣诞树②
  • segYolo添加界面
  • 初学Transformer核心——注意力机制
  • 第9篇:Freqtrade量化交易之config.json 基础入门与初始化
  • 推荐系统学习笔记(十六)LHUC(PPNet)
  • 前端开发实战 主流前端开发工具对比与最佳实践
  • 淘宝 API 技术架构与实战指南:从实时数据流到 AIGC 融合的电商开发新范式
  • 基于AD9689BBPZ-2600 的高速数字采集 板卡
  • Transformer 模型:Attention is All You Need 的真正含义
  • BUU MISC(看心情写)
  • 第三方网站数据库测评:【源码级SQL注入与数据泄露风险全面测评】
  • 【Linux基础】parted命令详解:从入门到精通的磁盘分区管理完全指南
  • 实践《数字图像处理》之Canny边缘检测、霍夫变换与主动二值化处理在短线段清除应用中的实践
  • sim2real_动作迁移常用的方法和思路(比如bvh->robot)
  • 第六届机器学习与计算机应用国际学术会议
  • 正交匹配追踪(OMP)详解:压缩感知的基石算法
  • Github项目推荐:Made-With-ML 机器学习工程学习指南
  • 【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战
  • Python从入门到精通_01_python基础
  • 基于开源做的图片压缩工具
  • 联邦学习与大模型结合
  • SQL隐式链接显式连接
  • pd19虚拟机安装Win11系统
  • 【面试场景题】如何进行高并发系统的性能测试?