服务之间的调用链越来越长,一次请求要经过六个服务。我想了想自己这些年,好像确实如此。我在心里盘算了一下要改几个服务,答案是五个。办公室安静得能听见键盘声
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个服务的超时设置是去年拍的,到现在没人动过。我笑了笑,决定不解释。我把线程 dump 拉出来分析,发现两百个线程在等同一把锁。这条经验值直接拉满
我把这个服务的日志从头翻到尾,只看到一句成功。我深呼吸了一下,决定从最可疑的地方查起。我在心里给这个方案准备了一个备用路径,希望用不上
我数了下这个服务的依赖,一共十九个。我在心里把涉及的所有环节都过了一遍。最后发现是缓存和数据库的更新顺序反了。办公室安静得能听见键盘声
后端的诉求很简单:别让我在周末收到告警。我忽然觉得,这可能就是这一行的常态。我把这个序列化方式换成了更省空间的,带宽立刻下来了。那一刻我觉得自己还是很专业的
接口上线前一切正常,上线后流量成了新的变量。我想了想自己这些年,好像确实如此。我把这个异步改成了同步,问题解决了,性能下来了。我把它写进了组内的避坑文档第一章
查了三小时的 bug,是缓存的锅;又查了三小时,还是缓存的锅。我决定先把手上的事情做完再处理这件事。我把这层的参数校验补全了,上游终于不能再乱传了。幸好之前留了备份
我看了眼这个接口的平均耗时,长尾拉得很长。我把手上的资料翻出来又读了两遍。我打开了这个接口的入参日志,终于看到那个空字符串了。复盘会上我们把它列成了案例
我把这个场景想全了,漏掉的是断电。我决定先把手上的事情做完再处理这件事。我打开了这个服务的依赖关系图,圈出了一个环形依赖。这条经验值直接拉满
这个接口的入参有八种组合,文档里写了三种。我把整条链路在心里复盘了一遍。我把这个方法的参数对象拆开了,可读性提升明显。从此我多了一条团队规约