凌晨3点17分,我的手机震了。
P1级故障告警,核心交易系统崩溃。
我从床上爬起来,套上衣服,打开电脑,开始排查。
志显示:内存泄漏,高并发场景下触发OOM。
我打开代码仓库,看了一眼提交记录。
是刘明昨天上线的代码。
又是他。
我拨通刘明的电话——无人接听。
再拨——关机。
我深吸一口气,继续排查。
问题定位:缓存对象没有正确释放,大流量场景下导致内存溢出。
我花了15分钟写出修复方案,开始改代码。
与此同时,我给张志强打了个电话。
“张哥,线上出故障了,是刘明昨天上线的代码导致的问题。”
张志强的声音带着困意:“远哥啊,这个故障你先顶着,我这边有点事走不开,明天再说。”
然后挂了。
我握着手机,愣了两秒。
他说的“有点事”,应该是睡觉。
凌晨3点,正常人都睡觉。
只有我,在修别人留下的Bug。
3点42分,修复代码提交。
4点15分,系统恢复正常。
我在工位上坐到天亮,等早高峰过去,确认系统稳定。
早上9点,团队早会。
张志强走进办公室,精神抖擞。
“昨天晚上的故障,大家辛苦了。团队一起扛过去了,这体现了我们团队的凝聚力。”
刘明坐在旁边,打着哈欠:“是啊土哥,昨晚太惊险了,我都要急死了,睡不着觉。”
我看了他一眼。
他红光满面,容光焕发。
看不出任何“睡不着觉”的痕迹。
张志强继续说:“不过故障原因还是要查一下,刘明,你说说怎么回事?”
刘明咳嗽了一声:“这个…是我在测试环境没覆盖到,导致上线后触发了隐藏Bug。不过发现很及时,修复也很迅速土哥居功至伟!”
居功至伟。
我帮他写的代码出的Bug,我来修,我来擦屁股。
最后“居功至伟”的是他。
我没有说话。
散会后,我回到工位,打开Git提交记录。
“`
commit 7a3f2d1
Author: 陈远
Date: 2024-12-15 03:42:17
修复缓存对象内存泄漏问题
commit 9f2c8e4
Author: 刘明
Date: 2024-12-14 22:15:33
新增用户行为分析模块
“`
凌晨3点42分,我提交的修复代码。
晚上10点15分,他提交的Bug代码。
这就是我们两个的区别。
但没有人关心这些。
所有人只知道:“团队一起扛过去了。”
—
## 第3章 我的架构方案,署名变成了领导
年底,公司启动了一个大:核心交易系统重构。
这是一个千万级的,目标是支撑未来5年的业务增长。
张志强把这个任务交给了我。
“远哥,这个太重要了,你来做架构设计,我只信任你。”
我没有拒绝。
这是我的专业,也是我的价值。
接下来的三个月,我几乎把所有业余时间都投入进去了。
调研行业最佳实践,评估技术选型,设计高可用架构,推演各种边界场景。
60页的技术方案,每一页都反复推敲。
高可用:99.99%可用性设计,多级容灾
高性能:支持10万QPS峰值,100ms内响应