见字如面,我是军哥!
一个工作 7 年的程序员读者老王,跟我吐槽他们公司的首席架构师陈总,还是从杭州某大厂来的。
我觉得这个内容蛮好,吐槽的同时还可以学到很多东西,今天来写一篇,为了避免隐私泄露,文中名字均为化名。
1、一张价值百万的废纸
三个月前,公司 CTO 兴奋地向我们介绍新来的首席架构师——陈总。履历耀眼:前大厂 P8+,主导过千亿级交易系统,出版过两本技术畅销书。
第一场技术会议上,陈总直接扔出了他的“架构革命方案”:
“各位,你们现在这套基于 Spring Cloud 的微服务体系,已经落后时代五年。”
他指着我们稳定运行了三年的系统架构图:“这种垂直拆分的微服务,都是小打小闹。”
然后展示了他的设计:一个号称“平台化、服务网格化、云原生化的下一代架构”。
2、灾难从设计评审开始
第一次设计评审会:
陈总:“所有服务必须接入服务网格,用Istio全面替换Spring Cloud Gateway。”
我举手:“陈总,Istio的学习曲线很陡,我们团队没人熟悉,而且现有网关很稳定...”“所以你们才需要成长!”
他打断我,“技术人要有前瞻性。我在阿里的时候...”
3、那些只有资深工程师才懂的痛
关于性能:
陈总坚持每个请求都要经过:API Gateway -> Istio -> Service Mesh Sidecar -> 业务服务 -> 数据访问层 -> 分布式缓存 -> 数据库代理 -> 实际数据库。
老王算了一笔账:一个简单的用户查询,需要经过8个网络跳转。“每个跳转就算只要5ms,也40ms了,我们现在的直接查询是10ms。”
“这是为可观测性和治理付出的必要代价。”陈总如是说。
关于数据库:
“分库分表不够优雅,我们要上 NewSQL,TiDB 才是未来。”
DBA 负责人小心翼翼地问:“我们现在的数据量只有500G,MySQL完全够用,TiDB的运维复杂度...”
“所以你们要拥抱变化!”陈总有些不悦,“我在阿里的时候,几百T的数据都是用NewSQL。”
关于部署:
“每个服务必须做到多地多活,这是高可用的基本要求。”
运维负责人苦笑:“陈总,我们就是一家 B 轮公司,业务还没覆盖全国,三地五中心的部署成本...”
“目光短浅!”陈总摇头,“架构设计要看未来三年。
4、写代码?那太低级了
最让我们这些老程序员无法理解的是:
陈总从不写代码。不是“很少写”,是“从不写”。
5、上线日的黑色幽默
之后,经过三个月 996 的加班,新系统勉强能跑了。
当系统灰度上线 10% 流量:
第一小时: 服务延迟从平均50ms飙升到800ms
第二小时: 错误率突破5%警戒线
第三小时: 数据库连接池被打满
第四小时: 决定回滚,发现新老系统数据模型不兼容,无法回滚。
凌晨三点左右,我们恢复到老系统。损失:几十万的交易流水,核心用户投诉,团队士气非常低落。
但是,第二天陈总并没来上班——他去参加一个技术峰会做演讲,题目是《云原生时代的企业架构转型》,哈哈哈~
6、什么才是真正的架构师?
八年前,左耳朵耗子在饿了么做技术顾问时,他分享过四个关键点:
第一、架构是妥协的艺术
“没有完美的架构,只有适合当前团队、当前业务、当前资源的架构。”
第二、简单是终极的复杂
“能用三个服务解决的问题,不要拆成十个。每多一个服务,就多十分复杂度。”
第三、代码是最终的权威
“不写代码的架构师是在耍流氓。设计必须能落地,接口必须自己先实现一遍。”
第四、为失败而设计
“先想好这个设计会怎么失败,而不是怎么成功。回滚方案比上线方案更重要。”
7、尾声
老王说,陈总在一个月后就离职了,他的下家是一家更早期的创业公司。听说他带去了一套“更先进的架构”。
而老王他们,在经历了这次灾难后,重新找回了做技术的初心:用合适的技术解决实际问题,而不是用炫酷的技术制造更多问题。
毕竟,他们都明白了一个道理:真正的架构功力,不在于你用了多少时髦的技术名词,而在于当系统在凌晨三点崩溃时,你敢不敢第一个接起电话。
你有遇到过这样的架构师吗?欢迎在评论区分享你的故事——我们需要的不是吐槽,而是共同思考:在这个技术爆炸的时代,如何保持清醒,做真正有价值的技术决策。
回见~若觉得不错,请点赞或分享,分享给你身边需要的朋友们~
关于我:一个 IT 从业 20 年的互联网老兵,1 号店架构师/前饿了么/贝壳找房技术总监,我叫程军,百度可查,目前一人企业,自由职业者。
一个灵魂非常有趣的人~
需要付费修改简历或者 1 对 1 陪跑请联系我。
1361

被折叠的 条评论
为什么被折叠?



