我看了眼这个接口的平均耗时,长尾拉得很长。我重新看了一遍手上的计划,把风险项标了出来。我在心里给自己留了个备忘,这个坑下次要早点发现。办公室安静得能听见键盘声
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我数了下这个服务的依赖,一共十九个。我决定先把手上的事情做完再处理这件事。我把连接数从 20 调到 100,服务立刻安静了。幸好之前留了备份
对方服务的接口没有幂等,重试了一次,订单变成了两个。我在心里把涉及的所有环节都过了一遍。我打开了数据库的慢查询日志,发现有半张表都在扫。连茶水间都安静了
这个系统设计得很优雅,跑起来全靠重启。我抬起头看了看周围,大家都一样。我把这个业务的判断条件补齐了,边界数据终于走对了分支。感动,然后我学到了新的一课
同一个接口,测试环境返回三秒,生产环境返回三百毫秒,没人知道为什么。我把它记在心里,没跟任何人说。我把这个分布式锁的过期时间设得长了一点,误删的场景少了。第二天这个方案就变成了团队标准做法
服务之间的调用链越来越长,一次请求要经过六个服务。我忽然觉得,这可能就是这一行的常态。我把这个服务的超时时间重设了,雪崩终于没有发生。感动,然后我学到了新的一课
我把这个服务的日志从头翻到尾,只看到一句成功。我把整条链路在心里复盘了一遍。我打开了这张表的主键结构,发现是联合主键且顺序不对。幸好之前留了备份
这个服务的超时设置是去年拍的,到现在没人动过。我想了想自己这些年,好像确实如此。我打开了这个任务的执行历史,发现昨天它根本没跑。幸好之前留了备份
后端最难的不是写出功能,是让它别崩。我叹了口气,然后打开了编辑器。我把 mvn dependency:tree 的结果拉了三屏,果然有版本冲突。复盘会上我们把它列成了案例
我数了下这个服务的依赖,一共十九个。我打开记录从头到尾扫了一遍。我把这层的参数校验补全了,上游终于不能再乱传了