Skip to content

RobustMQ 2026 的 H1:重构、慢、AI

在 5 月 5 日正式发布了RobustMQ 0.4.0。MQTT 进入试用阶段,MQTT/Kafka/AMQP/NATS 四协议链路打通,mq9 第一版内核诞生,规则引擎完成。那一版我们叫它"核心能力开始站稳"。

0.4.0 是上半年的一个里程碑。从 5 月初的 0.4.0 起,我们靠一连串 0.4.x 小版本持续往前推,到现在已经发到了 0.4.7。这篇是 2026 上半年的总结。0.4.0 本身在发布时已经写过,所以这里只说一件事:0.4.0 之后,我们做了什么。

这半年的事,说白了是两件:把已经站稳的地方夯得更实,把还没看清的方向探一探。没有什么特别耀眼的单点突破,但底座、质量、方向这三件都往前走了一大步。回头看,进度比我们自己预想的要快不少。

RobustMQ 架构:一份数据,多协议视图,Meta Raft 独立控制面

0.4.0 之后,这半年做了什么

从 0.4.0 到 0.4.7,主要是这八件事。

第一,Storage Engine 完成了 ISR 多副本机制的第一版。 这是上半年投入最大的一块,也是 RobustMQ 第一次有了真正的存储高可用底座。存储层现在支持 Memory、RocksDB、File Segment 三种引擎,并在它们之上做出了内置的高可用切换:

  • 三副本的 Shard 会把副本真实放到三个节点上。follower 通过统一的 ReplicaLog 抽象持续从 leader 拉日志,LEO 收敛、HW 推进;log start offsetHWLEO 都做了持久化,重启后能从存储恢复,不会丢位置。
  • leader 宕机或节点优雅退出时自动切主,leader_epoch 单调递增做 fencing,配合 OffsetsForLeaderEpoch 做尾部截断,已提交的数据一条不丢。
  • 被杀的节点重启后由 reconcile 自愈,以 follower 身份重新加入 ISR 并自动追平。meta leader 上还跑着一个 segment leader 的再均衡循环,让副本主的分布长期保持均衡。
  • acks=all 写入在完整三副本和降级两副本下都能正确提交。

我们也把 segment 的详情打通到了接口和控制台,每个副本的 leader、epoch、ISR、LEO、HW、fetch 状态都能直接看到。这是第一版,离成熟还远,但"存储层能在节点挂掉时自动切换、且不丢数据"这件事,第一次成立了。

第二,内核支持了基于 LanceDB 的向量检索和全文检索。 这一步看着和消息队列没什么关系,但它是给后面 Agent 的语义发现打底。等 Agent 多起来,"按能力、按语义找到合适的 Agent"会变成刚需,内核先把检索能力备好。

第三,mq9 重新定位为 Agent 的注册与通信基础设施。 0.4.0 时 mq9 还只是"为 Agent 异步通信而生的协议"。这半年我们把它的定位想得更清楚了:除了做 Agent 的异步邮箱,它还要承担 Agent 的注册和发现。这一版支持了 Agent 的注册与发现,也探索了 a2a over mq9,让 Agent 之间的协作协议直接跑在 mq9 上。往"成为更好的 AI Agent 通信基础设施"这个方向,又走了一步。

第四,基于 Hermes Agent 的混沌测试 robustmq-chaos 初步跑通。 这是我们对"质量怎么长期保证"的一次新尝试:让 LLM 和 Hermes Agent 自动编排混沌测试、观察系统行为、生成报告,搭一套 harness,把混沌测试的人力投入降下来。第一版已经能跑了。配套地,我们把 ISR 滚动重启、Raft 集群演练都沉淀成了可重复执行的 drill,反复地杀节点、观察、重启、校验,一轮十回合,每回合换一个被杀的节点。ISR 这条线上的一批坑,正是在这个过程里被挖出来修掉的:心跳要上报给每一个 meta 节点(否则换了 meta leader 就会误删全部节点、ISR 一直抖);ISR 收缩要按拉取时效判定,而不是按 LEO;leader 切换时不能重置已有数据的 offset;follower 重启后要靠 reconcile 自愈重新拉取。这些坑一个个填掉,系统在异常场景下的表现才慢慢变得可预期。

第五,存储层三种引擎做了大量重构和重写。 commitlog 的读、写、过期、索引、副本路径基本重写了一遍。我们还重新设计了 RocksDB 的 key 布局,让一个 Shard 的所有 key 收敛到同一个前缀下,每个 segment 的 key 收敛到它的子前缀下。这样"删一个 Shard、删一个 segment"就从原来手工罗列七八个前缀、还容易漏删,变成一次前缀删除,以后再加新的 key 类型也不会漏。读路径上也修掉了几个隐患(单条记录超限会让消费停住、保留期在数据量小的时候会卡死),顺手做了点性能优化。这些活不产生新功能,但让存储层从"能用"往"扎实"走了一截。

第六,在 AI 的帮助下,单测和集成测试补了一大轮,RobustMQ harness 立起来了。 这半年补了大量单元测试和集成测试,把存储引擎、ISR、各协议的核心路径盖上;也围绕集群启动、逐个跑用例、混沌演练,沉淀出一套能复用的测试 harness:清环境、起三节点集群、一个一个跑用例、出错就地定位修复。质量不是靠一次冲刺攒出来的,是靠一套能长期跑、能自己发现问题的体系。这半年就是在搭这套地基。

第七,MQTT 基本稳定,开始有试用用户了。 MQTT 这半年几乎没加新功能,重心全在稳定上,比如把 QoS 2 跨节点的语义补正确,把一些并发和一致性的边角磨平。现在它有了几个试用用户。对一个基础软件来说,有人愿意真用起来、给反馈,比多加一个功能值钱得多。挺好的。

第八,HTTP 接口和 Dashboard 又重构了一轮。 集群信息、Meta Service 的 Raft 状态机视图、节点和配置详情、Shard/Segment 详情,随着功能变多,接口和控制台需要重新梳理分层、统一命名和错误处理。这类活不会出现在 release note 显眼的位置,但它决定了系统好不好维护、用户第一眼的印象好不好。

整体看,这半年做的事不少,进度也超了预期。但心里清楚:这些大多还是"第一版",离成熟都还有距离。

2026 下半年的计划

上半年把底座夯实了,下半年接着往前走。

第一,存储层继续打磨,让三种引擎更稳,并探索基于对象存储(S3)的实现。 三种引擎的稳定性会持续打磨;同时往前探一步,把数据沉到 S3 这类对象存储上,为低成本、海量、冷热分层的存储形态做准备。

第二,把 mq9 作为注册与通信基础设施的能力做厚。 加上语义拦截、审计这些功能,和 a2a 结合得更紧。目标是让 mq9 成为 Agent 协作里默认就该有的那层基础设施。

第三,开始支持 Kafka 协议。 存储层 ISR 多副本基本就绪,周边也在慢慢补齐,支持 Kafka 的基础已经有了。把 Kafka 做起来,是为了把 RobustMQ 以 MQTT、Kafka、mq9 为核心的定位闭环掉:打通从物联网设备,到大数据平台,再到 AI Agent 的整条链路。

第四,继续修 bug、重构代码、把周边的测试体系搭起来,基于 AI 做 harness。 质量是持续投入,不是一锤子买卖。我们会继续用 AI 把测试 harness 做厚,为后面保证 RobustMQ 的质量留足余量。

第五,周边继续完善。 MQTT、Dashboard、CLI、HTTP 接口接着打磨。基础软件的体验,就是这些"周边"一点一点堆出来的。

说说 AI

标题里放了"AI",得多说两句,因为它对 RobustMQ 是两层意思。

一层是方向。我们赌的是:AI Agent 这一波起来之后,Agent 之间的异步通信、注册、发现,会需要一层新的基础设施。mq9 就是冲这个去的。这半年它从一个协议,慢慢往 Agent 的注册与通信底座上靠;内核加向量和全文检索,是为了之后 Agent 能按语义互相找到对方;a2a over mq9,是在试 Agent 协作协议能不能直接长在 mq9 上。这条线还很早,但方向我们想清楚了。

另一层是方法。这半年大量的活,是借着 AI 干完的。存储层那一大堆重构和重写、补的那批测试、ISR 一个个挖出来的坑、甚至那套能自动跑混沌演练的 harness,背后都有 AI 在帮忙。说句实在话,没有 AI,靠一个小团队的人手,这半年的进度是不可能的。

但有件事我们也越来越清楚:AI 让你快,不替你想。方向往哪走、哪个取舍对、代码该不该这么改,最后还是得自己拍板。AI 写得越快,越得有人沉住气去 review、去判断、去为对错负责。快是 AI 给的,稳得自己守。

这其实也是"慢"的另一面:手上的工具快了十倍,做事的节奏反而更要稳得住。

写在最后

再往远看,我们想做的其实很朴素:一套统一的消息基础设施,把物联网、大数据、AI 这三条原本各走各的链路接到一起。一份数据写进来,MQTT 看到的是设备的 QoS 和 retain,Kafka 看到的是 offset 和 partition,mq9 看到的是 Agent 的 mailbox。底下是同一份存储,没有数据搬运,也没有桥接转换。设备的数据能直接喂给大数据平台,也能直接喂给 AI Agent。这就是 RobustMQ 想长成的样子。

怎么走到那儿,我们没排时间表,也不给自己定太大的目标。这些年下来,几条做事的准则倒是越来越清楚:

  • 慢就是快。 基础软件没有捷径,每一步都要走实。宁可慢一点,把一个方向做深做稳,再走下一步。
  • 先做稳,再做多。 能让真实用户敢在生产里用,比多支持一个协议、多加一个功能更要紧。
  • 质量靠体系,不靠人盯。 用 AI 把测试和混沌演练做成能长期自动跑的 harness,让问题在我们没盯着的时候也能冒出来。
  • 用 AI,但自己拿主意。 AI 让我们快了很多,可方向、取舍、对错还得自己想清楚。越是快,越要沉得住气。
  • 开源,长期主义。 不赶风口,一点一点把它做出来,和社区一起。

基础软件是个慢活,急不来,也不用急。把每件事做实,一步一步往前走就好。

下半年见。


项目地址:https://github.com/robustmq/robustmq

欢迎试用和反馈。

🎉 既然都登录了 GitHub,不如顺手给我们点个 Star 吧!⭐ 你的支持是我们最大的动力 🚀