记得那是 2010 年夏天,我在北京的一家咖啡馆,那天下午人不多,我坐在窗边,看着窗外繁华的街道。突然,一个穿着蓝色工作服的大个子推门而入,他身高约两米,站在那里,几乎把整个咖啡馆的门口都塞满了。他径直走到柜台,点了一杯拿铁,然后转身背对着我坐下。
那时候,我突然想到,如果我也是一个巨人,那会是什么样子呢?我的视线会看到不同的世界,我的一举一动都会引起人们的惊呼。可是,我又想,如果我真的是一个巨人,我会不会因为身高而失去与人的亲密接触呢?
等等,我还记得,有一次我去商场购物,看到一个小女孩,大概只有一米左右高,她站在玩具架前,兴奋地挑选着玩具。那一刻,我突然意识到,身高真的只是外表,真正重要的是我们如何去感受和体验生活。
开头
巨人化在软件开发中是个常见问题,其实很简单,就是系统因为代码或架构的膨胀而变得难以维护。
### 展开 先说最重要的,去年我们跑的那个项目,大概3000量级用户,代码库膨胀到接近10万行,开发效率直线下降。另外一点,我发现很多团队在设计初期没有充分考虑扩展性,导致后期频繁重构。还有个细节挺关键的,巨人化往往伴随着技术债务的累积,用行话说叫雪崩效应,其实就是前面一个小延迟把后面全拖垮了。
### 思维痕迹 我一开始也以为只要硬件升级就能解决问题,后来发现不对,关键在于架构和代码的优化。等等,还有个事,这个点很多人没注意,巨人化还可能因为团队沟通不畅而加剧。
### 结尾 我觉得值得试试的是,引入微服务架构,这样可以在不影响整体性能的前提下,对各个模块进行独立升级和维护。