流水线不是跑通就完事:把 CI/CD 做成三层能力的完整方法
一条能扛事的流水线,是可重复、可度量、可回退的工程过程 很多人对 CI/CD 的理解,停留在”提交代码后自动跑一遍测试,然后自动部署上去”…
一条能扛事的流水线,是可重复、可度量、可回退的工程过程 很多人对 CI/CD 的理解,停留在”提交代码后自动跑一遍测试,然后自动部署上去”…
几乎每个技术团队都会在某个时刻讨论同一个话题:要不要把手上这个越来越臃肿的单体应用拆成微服务。讨论的结果往往分成两派——一派觉得单体已经卡住了团队的交付速度,非…
把一条消息丢进队列,看起来只是一个 send() 调用的事。可在线上环境里,这条消息可能被重复消费三次、可能因为消费端太慢堆到几百万条、可能在半夜把下游数据库打…
几乎每个团队都说过同一句话:”这个我们文档里写过。”可现实往往是——新人第三天还在问同一个问题,线上出故障时没人找得到那篇关键文档,老员…
上线前跑了一轮压测,报告上写着「单机 QPS 3000,P99 85ms」,大家看了都很安心。结果放量那天,真实流量才到设计容量的一半,接口就开始大面积超时,数…
很多项目不是被自己的代码拖垮的,而是被别人的代码拖垮的。一次 npm install 拉进上千个包,构建日志里躺着一堆叫不出名字的依赖,某天其中一个包发了个小版…
去年有一次,我们的开放平台收到一封邮件。发件人是一家合作方的技术负责人,语气很客气,但意思很直接:他说我们的接口在周五晚上改了,返回字段从 user_id 变成…
线上出了故障,全队连夜把问题摁下去,第二天早上群里只有一句”已恢复”。这件事就算过去了吗?在不少团队里,答案确实是”算过去了…
代码评审(Code Review)大概是团队里最容易被做坏的一件事。它本该是一道质量闸门,结果常常变成两种极端:要么是走过场的”LGTM”…
凌晨三点,手机在床头柜上连震了十七次。爬起来打开电脑,发现是同一台机器的磁盘使用率触发了十七条不同的告警——从「磁盘使用率超过 85%」到「日志写入失败」,再到…