RobustMQ 遵循的哲学
我们在做一件很慢的事——构建下一代消息基础设施。
这件事不能用捷径完成。基础设施软件的核心是信任,信任来自时间和深度,不来自速度和噱头。我们选择慢下来,把每一个设计决策想清楚,把每一行代码写扎实。
这篇文章说清楚我们相信什么、遵守什么原则、想去哪里。
我们相信什么
我们相信慢就是快。
基础设施软件没有捷径。一个架构决策的错误,可能在三年后才显现代价。我们宁愿在设计阶段多花十倍的时间,也不愿意在生产环境里付出百倍的代价。
每一个我们说"不"的功能,背后都是一次认真的取舍。每一个我们说"等一等"的方向,背后都是对时机的判断。快不是目标,对才是目标。
我们相信技术深度是真正的护城河。
工具可以被复制,代码可以被生成,但对一个问题的深度理解无法被复制。我们花大量时间理解消息系统的本质——不只是协议怎么实现,而是为什么这样设计,在什么场景下会失效,下一个时代的需求是什么。
这种深度不会在短期内体现为竞争优势,但它是我们长期存在的理由。
我们相信开源是基础设施软件的正确路径。
闭源的基础设施是不完整的基础设施。用户需要能看到代码、能审查实现、能在极端情况下自己修复问题。这不只是商业策略,是我们对基础设施应该是什么样子的判断。
开源也是建立信任最有效的方式。代码就在那里,没有黑盒,没有隐患。
我们相信场景在变,工具必须跟着变。
Kafka 很好,RabbitMQ 很好,NATS 很好。它们是为上一个时代设计的工具,在那个时代的场景下是正确答案。AI Agent 出现之后,场景变了——消息不只是数据,更多是意图;路由不只是地址匹配,更多是语义理解;安全不只是传输加密,更多是意图审计。
当场景变了,好的工程师会问:现有的工具够用吗?我们认为不够用,这是 RobustMQ 存在的理由。
我们的设计原则
一:统一存储,多协议视图
数据只写一次,通过不同协议的视图读取。MQTT 设备、Kafka 数据管道、NATS 微服务、mq9 Agent——它们都在同一套存储上运行,共享同一份数据,只是视角不同。
这不是为了支持多协议而支持多协议。是因为真实的系统是异构的,强迫用户为每种协议部署一套独立的基础设施,是在制造复杂度,不是在解决问题。
一份数据,多个视图,这是我们对"统一"的定义。
二:单二进制,按需伸缩
一个二进制文件,部署在任何地方——边缘设备、私有机房、公有云。单机部署就是存算一体,多机部署就是存算分离,同一套代码,按需选择。
这个原则来自对真实场景的观察:工业边缘设备需要极简部署,云端企业需要弹性扩容。不应该为了满足不同场景而维护两套产品。一个二进制,覆盖所有场景。
三:不引入不必要的依赖
每一个新依赖都是一个新的故障点,都是一个新的运维负担,都是一个新的安全边界需要维护。我们对依赖有洁癖——能不引入就不引入,能用已有的解决就不加新的。
这个原则在每一个设计评审里都会被问到:我们真的需要这个依赖吗?有没有更简单的方式?
四:协议是接口,存储是核心
协议在变,存储不变。MQTT 会演进,Kafka 协议会升级,今天没有的协议明天可能出现。如果把协议和存储耦合在一起,每次协议变化都需要改存储层,这是错误的架构。
我们把存储层设计成协议无关的,协议只是访问数据的接口。新增一个协议,不需要改存储;存储层优化,所有协议都受益。
五:先把当前问题解决好,不为假想的未来过度设计
我们见过太多系统因为过度设计而失败——为了支持一个可能永远不会出现的场景,把当前系统搞得极其复杂。
我们的原则是:用能解决当前问题的最简单方案,当问题真正变复杂的时候,再把方案升级。好的架构不是一开始就设计出来的,是在真实场景里演进出来的。
我们想去哪里
近期:成为异构通信世界的统一解决方案
今天一个典型的工业系统里有 MQTT 设备、NATS 微服务、Kafka 数据管道,三套系统、三套运维、三套监控。我们想把这三套变成一套。
不是通过强迫用户迁移到某个协议,而是让一套基础设施能原生支持所有协议,用户的代码不需要改一行。
中期:成为 AI 时代的通信基础设施
AI Agent 的协作需要一种新的通信模型——异步、持久化、有语义。mq9 是我们对这个需求的回答:每个 Agent 有一个 mailbox,消息在里面等待,直到被处理。发送方和接收方不需要同时在线。
这只是起点。我们相信下一代消息系统应该理解语义、感知意图、内置服务发现。中间件从"无脑搬运比特"进化成"理解意图的通信网络"。这是我们正在探索的方向。
长期:定义下一代消息标准
Kafka 定义了大数据时代的消息标准,这个判断影响了整个行业十年。AI 时代需要新的标准,这个标准还没有被定义。
我们不知道最终答案是什么,但我们认为自己在正确的路上——从 mailbox 这个最小的正确抽象出发,在真实场景里逐步发现下一步应该做什么。
定义标准是一件很慢的事。我们不着急。
最后
RobustMQ 是一个正在进行中的判断。
我们相信基础设施软件需要时间积累,相信技术深度是真正的壁垒,相信 AI 时代的通信基础设施和今天的样子会很不一样。
我们在用代码表达这些判断。
欢迎加入,一起把这件事做对。
