文章 / 技术分享

一个800年前的工程事故,为什么至今没有倒?

906 字 阅读约 2 分钟

image.png

1173年8月9日,意大利比萨,一座钟楼开始动工。

谁也没有想到,它后来会成为世界上最著名的“工程事故”之一——比萨斜塔。

工程开始几年后,钟楼建到早期楼层时就出现了明显倾斜。原因并不神秘:塔身很重,地基却很浅,下面还是松软的黏土、沙土和地下水层。简单来说,就是在一块不够结实的地面上,放了一个越来越重的大家伙。

如果这是今天的软件项目,大概可以说:

系统刚上线没多久,就发现底层架构出了问题。

更麻烦的是,塔已经盖起来了。

推倒重建代价巨大,继续往上盖又可能越来越歪。

后来工程因为战争等原因停停建建,整个建设过程持续了近200年。意外的是,这些漫长的停工反而给地基留下了沉降和稳定的时间,否则它可能更早出问题。

后来的建筑师也知道塔已经歪了。

怎么办?

他们没有把它彻底“扶正”,而是在继续施工时尝试调整上层结构,让一侧稍高一些,以补偿已经出现的倾斜。

结果今天仔细看,比萨斜塔甚至不是一条笔直的斜线,它带着轻微的弯曲。

这件事特别像我们今天维护一个运行多年的系统。

很多工程师都喜欢谈“最优架构”:代码应该重新设计,数据库应该重新规划,历史逻辑应该全部清理。

但现实中的系统,很少允许你推倒重来。

它可能已经运行十年,连接几十个上下游,保存着大量数据,每天还有真实用户和资金从里面经过。

这时候,工程问题就从:

“怎样设计一个完美系统?”

变成了:

“怎样让一个不完美的系统继续安全运行?”

比萨斜塔后来也是如此。

到了20世纪末,它的倾斜已经严重到必须干预。1990年,斜塔关闭。工程团队用了十多年时间进行稳定工程,其中一个关键办法不是强行把塔掰直,而是从较高一侧的地基下缓慢抽取少量土壤,让塔身向回倾斜一点。

2001年,比萨斜塔重新开放。

这里有一个很有意思的工程思维:

目标从来不是让它变得完美,而是把风险重新拉回可控范围。

甚至不能把它完全扶正。

因为倾斜本身,已经成为这座建筑历史和价值的一部分。

这让我想到很多后台系统。

一个存在多年的“历史问题”,未必需要立刻消灭。真正应该先问的是:它的风险是什么?边界在哪里?会不会继续恶化?有没有监控?出了问题能不能恢复?

重构当然很重要。

但工程能力不只体现在从0到1设计一个漂亮的系统,也体现在面对一个已经倾斜的系统时,知道哪里能动,哪里不能动,以及怎样用最小的代价把它重新拉回安全区间。

800多年过去,比萨斜塔依然歪着站在那里。

它没有证明“错误也很美”。

它证明的是另一件更现实的事:

好的工程,不是永远不犯错,而是错误发生以后,系统仍然留有被修正的余地。

易浅小站

EACHEN STUDIO / ARTICLE END

关于作者 →
RELATED / 3