基础软件这口饭,不是技术堆出来的

🔑 关键词:基础软件,信创,开源生态,CentOS,国产数据库

📖 摘要:从一次CentOS停服事故说起,聊聊国产基础软件与国外真正的差距,以及我对“自主可控”的另类看法。

2021年底CentOS 8宣布提前停服,我们单位几百台生产服务器突然成了孤儿。当时负责信创迁移的同事脸都绿了——不是没做准备,是没想到Red Hat这么绝情。那段时间我熬夜看各种替代方案,试过AlmaLinux、Rocky,最后发现不管换哪个,底层逻辑都没变:你花钱买的是安全感,不是代码本身。后来跟一个老前辈聊,他说了句特扎心的话:“我们缺的不是操作系统,是能半夜三点接电话的人。”

图片

把国产操作系统和国外对比,单看内核版本、驱动支持、硬件兼容性,说实话差距没那么大了。我亲手在麒麟上跑过金融核心系统的压测,性能数据比CentOS差一点,但调优后能接受。真正要命的是生态——你装个Oracle RAC,官方文档写的是“Red Hat and Oracle Linux only”,国产系统你得自己琢磨。MySQL被Oracle收购后,那些企业用户宁可掏钱买Oracle也不碰社区版,为什么?因为出了事有人负责。国产数据库也有这问题,技术上能做分布式、高可用,但金融客户问的第一句话永远是“有没有成功案例”,不是“性能怎么样”。

图片

我后来反思,自己以前总爱用“技术不行”去评价国产基础软件,其实是种傲慢。去年我们内部搞了个“去Oracle”项目,用国产数据库替换,结果不是死在SQL兼容性上,而是死在运维工具链上——监控、备份、诊断脚本,全是给Oracle量身定制的,换数据库等于把整个运维体系推翻重来。有个晚上我调一个死锁问题,搞到凌晨三点,最后发现是国产数据库的JDBC驱动和某个连接池版本不兼容。那一刻我真切体会到,基础软件不是写一堆代码就完事,它是个服务业,得有人日复一日帮你踩坑、填坑,然后形成一套可复制的经验。我们习惯用“揭榜挂帅”的工程思维去攻克技术难点,但基础软件的敌人不是“难”,是“闷”和“长”。

图片

所以我现在看“自主可控”这四个字,心情很复杂。一方面觉得必须搞,否则永远被人卡脖子;另一方面又觉得如果只盯着“有没有”,不关注“能不能持续演进”,那最后做出来的是个数字雕像。信创替代最理想的状态,是像CentOS那样有一群人长期陪跑,而不是把软件装完就宣告胜利。这话可能不够有大局观,但那天凌晨我盯着屏幕上的死锁日志,脑子里全是老前辈那句话。国产基础软件这口饭,真不是靠堆技术堆出来的,是谁肯蹲下来,先把地上一颗颗钉子捡干净。

图片