https://mp.weixin.qq.com/s/FAWINkUQGaLSHLAWlgHtmA
概览 RobustMQ Kafka 是构建在 RobustMQ 统一内核之上的 Kafka 协议兼容层——它不是一个独立的 Kafka 发行版,而是让标准 Kafka 生态直接连接 RobustMQ 的一层协议实现。原生 Kafka 客户端(Java kafka-clients、librdkafka)与官方命令行工具(kafka-*.sh)都可直连,默认端口 9092。
设计取向:一份数据、多协议视图 RobustMQ Kafka 最核心的设计取向是 "一份数据、多协议视图":Kafka 与 MQTT 共享同一份 topic 存储和元数据。因此存储层保存的是协议中立的、已解码的消息记录,而不是 Kafka 私有的压缩批次格式。这一取向决定了许多实现选择(例如为什么不采用 Kafka 的"原样存批次 + zero-copy")。
几个关键事实:
Controller / 协调器 = meta-service 的 Raft Leader:不使用 ZooKeeper 或 KRaft。Kafka 语义中的 controller、消费组协调器、事务协调器都定位到当前 Raft Leader,经约 3 秒 TTL 缓存的 gRPC 查询获得。 存储引擎 = File Segment:段的 append / seal / scroll、offset → position 索引 + mmap 读、ISR 多副本 + leader_epoch fencing。 写入即解码:Produce 写入时把 RecordBatch 解开入库,Fetch 时再重组为 RecordBatch,因此同一 topic 也能被其它协议读写。 详见 系统架构。https://robustmq.com/zh/RobustMQ-Kafka/Overview
Ext Link: https://mp.weixin.qq.com/s/FAWINkUQGaLSHLAWlgHtmA
评论区
写评论还没有评论