![]()
一个仪表盘从绿色变红需要多久?对大多数工程师来说,答案是「比产品经理在Slack上打出'怎么回事'更快」。谷歌云工程师在内部复盘会上分享过一组数据:系统响应时间从200毫秒爬升到2秒,平均只需要47秒——刚好够你冲一杯咖啡,回来就发现服务已经「正在经历问题」。
这不是服务器着火的戏剧性场面。是更安静的羞辱:监控页面一片猩红,而某个产品经理的消息正在闪烁,那种「我绝对知道发生了什么而且很生气」的语气。
伸缩性不是钱能买的
工程师们试过所有捷径。加服务器、堆工程师、凌晨三点改配置——谷歌工程师把这叫「用胶带纸糊出来的架构」。2019年内部技术债审计显示,72%的伸缩故障源于早期设计妥协,而非后期资源不足。
钱能买带宽,买机器,买人。但买不来一个从第一天就为增长设计的系统。这就像给自行车不断换更粗的轮胎,指望它最终能跑高速——结构不对,材料只是更贵的错误。
「设计时偷懒,运行时还债」
谷歌SRE团队有个内部指标:「3点忙线指数」——衡量工程师凌晨被叫起的频率。2017年某核心服务上线时,该指数是月均1.2次;两年后涨到11次。根因分析指向同一处:最初的数据库分片方案留了「后期再优化」的口子。
那个「后期」从未到来。直到流量暴涨300%,团队才发现分片键选错了字段。重构花了14个月,期间每次大促都是全员战备。
工程师后来复盘:「我们不是在修bug,是在为两年前的'差不多就行'付利息。复利的那种。」
增长友好型架构的三个暗线
谷歌工程师提炼出一组反直觉原则。第一,接受局部失效——设计时假设任何组件都可能挂掉,而不是祈祷它别挂。第二,延迟是特征不是bug——明确区分「必须同步」和「可以异步」的数据流,比盲目优化毫秒更有价值。
第三最扎心:伸缩性测试要撒谎。不是模拟真实流量,而是模拟「真实流量+某个你没想到的蠢事」。比如某个下游服务突然慢了10倍,或者某个缓存层集体失忆。
2018年YouTube一次全球卡顿,起因是一个边缘节点的配置漂移——测试环境没覆盖到,因为「谁会在测试里故意配错一个节点呢」。现在他们会。
那位经历过三次崩溃的工程师,工位上贴着一张便利贴:「3am不是工作时段,是设计失败的收据。」
你的系统最近一次「收据」是什么时候开的?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.