我看了眼这个接口的平均耗时,长尾拉得很长。我盯着屏幕沉默了十分钟。我把这个异常的兜底加上,至少不会再往上抛一堆堆栈。感动,然后我学到了新的一课
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我加了这个字段之后,下游有三个服务需要跟着改。我深呼吸了一下,决定从最可疑的地方查起。我打开了这个服务的依赖关系图,圈出了一个环形依赖。复盘会上我们把它列成了案例
服务之间的调用链越来越长,一次请求要经过六个服务。我发现自己居然没法反驳。我把这个分布式锁的过期时间设得长了一点,误删的场景少了。这大概就是程序员的人生吧
这个模块的注释比代码还长,说明改过很多次。我停了一下,然后继续手上的活。我打开了这台机器的负载监控,CPU 一直在贴着顶跑。这条经验值直接拉满
我数了下这个服务的依赖,一共十九个。我先给自己泡了杯茶,做好了打持久战的准备。我加了幂等键重新试了一次,数据终于对上了。复盘会上我们把它列成了案例
这个模块的注释比代码还长,说明改过很多次。我抬起头看了看周围,大家都一样。我打开了这个任务的执行历史,发现昨天它根本没跑
查了三小时的 bug,是缓存的锅;又查了三小时,还是缓存的锅。我把这个异常的兜底加上,至少不会再往上抛一堆堆栈。果然现实比段子更精彩
这个服务的配置项有六十个,我认识其中的二十个。我把手上的资料翻出来又读了两遍。我把这个多线程的地方加了个锁,QPS 掉了一半但数据对了。这大概就是程序员的人生吧
这个接口的入参有八种组合,文档里写了三种。我在心里把涉及的所有环节都过了一遍。我在心里给自己留了个备忘,这个坑下次要早点发现。连茶水间都安静了
我数了下这个服务的依赖,一共十九个。我先确认了一遍前置条件,再动手。我打开了数据库的慢查询日志,发现有半张表都在扫。这大概就是程序员的人生吧