Skip to content

基础软件的"不性感"与真实价值

一个让我不太舒服的感受

做 RobustMQ 这段时间,总有一种不太舒服的感受。

和朋友聊项目,说在做消息队列,对方的反应往往是"哦,还在做这个啊"。如果说在做 AI,对方会两眼放光:"太酷了!现在 AI 多火啊!"这种反差让我有时候会想:是不是选错了方向?消息队列这种基础软件,土土的,不够性感,不够有想象力。不像 AI,到处都是融资新闻,到处都是颠覆性应用,充满想象空间。

这种感受可能很多做基础软件的人都有过。你在认认真真地解决技术问题,优化性能,提升稳定性,但外界看起来很无聊。你说优化了零拷贝,别人不知道那是什么。你说实现了无数据迁移扩容,别人觉得这有什么难的。你说做了分层存储降低成本,别人问为什么不直接用 Kafka。

基础软件为什么"不性感"

仔细想想,基础软件不性感是有原因的。

第一是它太底层了,普通人感知不到。用户用 ChatGPT 能直接感受到 AI 的魅力,但用户不会直接接触消息队列。他们看到的是应用,感受到的是功能,底层用什么消息队列他们不关心。就像你用手机不会关心里面用的是什么芯片架构,你只关心好不好用。

第二是它的价值不直观。AI 能生成图片、写文章、对话,效果立竿见影。但消息队列做得好,用户感受是"系统很稳定",做得不好才会感受到"怎么老是延迟"。它的价值是负向的:做好了是应该的,做不好才会被注意到。这种隐形的价值很难被认可。

第三是技术门槛高但想象空间小。分布式系统、一致性协议、零拷贝优化,这些技术难度很高,但外界看起来就是"让消息传得更快更稳"。AI 可以说"改变世界""颠覆行业",消息队列很难讲这种故事。想象空间确实小。

但基础软件真的没价值吗

我经常这样安慰自己:基础软件虽然不性感,但重要。

那些性感的 AI 应用,底层跑在什么上?OpenAI 用 30 多个 Kafka 集群支撑 ChatGPT,用 Flink 做流处理,用消息队列做用户反馈的数据流转。那些炫酷的实时推荐、个性化服务,背后是消息队列在实时传输数据。那些号称智能的系统,数据从哪来、怎么流转、如何存储,都离不开基础软件。

AI 是房子,基础软件是地基。地基不性感,但没有地基,房子建不起来。这个比喻我用了很多次,但说实话,有时候我自己也不完全信服。因为大家都在看房子有多漂亮,很少有人关心地基打得怎么样。

一些真实的困惑

我也会困惑:是不是应该转向更性感的方向?

消息队列这个领域,Kafka 已经是事实标准,Pulsar、RocketMQ 也很成熟。新做一个消息队列,即使技术上更好,市场接受度、生态建设、用户迁移成本,这些都是实实在在的障碍。而且说实话,用户对消息队列的需求基本都被满足了,剩下的是一些细节优化(扩容快点、成本低点),不是革命性的需求。

相比之下,AI 领域到处都是机会,到处都是想象空间。模型在进化,应用在爆发,创业公司一个接一个。做 AI 相关的东西,融资容易,招人容易,讲故事容易。

所以有时候我也会想:是不是该做点更性感的?比如 AI 数据平台,比如实时特征工程,比如智能数据治理,至少沾点 AI 的边,讲起来也更有吸引力。

回到最初的问题

RobustMQ 有没有突破性创新?没有。需要吗?

我的真实答案是:需要,但确实没想到更好的突破点。我也希望能有一些独创的技术,能在某个方向上做出真正的突破,让 RobustMQ 不只是"另一个消息队列"。但想了很久,确实没想到。消息队列这个领域发展了这么多年,基本的技术路线都被探索过了。

但我认为当前的设计是我们能想到的极限。在不冒技术风险、不做激进尝试的前提下,合理地组合现有技术,尽可能地解决已知问题,适配更多场景。可能还有我们没想到的更好方案,也可能随着技术发展会出现新的可能性,但至少现在,这是我们能做到的。

一些和解

或许基础软件确实不够性感,确实没有 AI 那么有想象空间。但可能这就是它本来的样子。

基础软件的价值不在于想象力,而在于可靠性。不在于概念有多新,而在于问题解决得多好。不在于能讲什么故事,而在于系统能不能稳定运行。这些品质很"无聊",但很重要。

我们选择做消息队列,选择做基础软件,可能注定了不会那么性感。但如果能做出一个真正稳定、高性能、低成本、易用的消息队列,能帮助其他系统(包括那些性感的 AI 应用)更好地运行,这本身也是有价值的。

可能这个价值不会被大众看到,不会上新闻,不会获得关注。但对于那些真正在用的人,对于那些依赖它的系统,它是重要的。

一点倔强

虽然基础软件不性感,但我还是想把 RobustMQ 做下去。

不是因为我想清楚了所有问题,也不是因为我确信一定能成功。只是觉得,既然选择了这条路,既然想了这么久的设计,就试试看能做到什么程度。即使最后没能撼动 Kafka 的地位,即使只是在某个细分场景有些用户在用,也算是一种价值。

性感不性感,有没有想象空间,可能不是我们能决定的。我们能决定的是:认真对待每一个技术选择,仔细打磨每一行代码,诚实面对每一个问题。做好该做的事,剩下的交给时间。


关于 RobustMQ

RobustMQ 是一个用 Rust 编写的消息队列,不性感,但我们在认真做。项目还在早期,很多想法还在验证中。如果你也对基础软件感兴趣,欢迎关注我们的 GitHub,一起做点"无聊但有用"的东西。