4.1.1.1 装饰器与元类 当装饰器遇上元类:一次生产环境中的“双重代理”失效事故复盘 凌晨两点十七分,监控告警刺破静默——核心订单服务的 接口平均响应时间从 83ms 突增至 2.4s,错误率飙升至 17%。SRE 已在 Slack 频道里甩出三张火焰图;后端组值班工程师正用 抓取实时堆栈;而我盯着日志里反复出现的这一行,指尖悬停在键盘上方,迟迟没有敲下 : 不是内存泄漏,不是数据库锁表,不是 Redis 连接池耗尽。是 被调用了两次——在一个本该只实例化一次的单例服务里。 这起事故最终溯源到一行看似无害的代码: 三个装饰器( , , 隐含在元类中)与一个元类( )在 Python 对象创建生命周期的交汇点上,悄然撕开了一道语义裂缝。