说好的前后端分离,最后联调的时候接口文档和实际返回是两个东西。我发现自己居然没法反驳。最后发现是缓存和数据库的更新顺序反了。感动,然后我学到了新的一课
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
后端的诉求很简单:别让我在周末收到告警。我愣了两秒,然后继续敲代码。我打开了这个接口的入参日志,终于看到那个空字符串了。办公室安静得能听见键盘声
同一个接口,测试环境返回三秒,生产环境返回三百毫秒,没人知道为什么。我想反驳,但发现他说得对。我把这个异步改成了同步,问题解决了,性能下来了。第二天这个方案就变成了团队标准做法
这个服务的配置项有六十个,我认识其中的二十个。我深呼吸了一下,决定从最可疑的地方查起。我在心里给这个模块的可维护性打了个分,不太高。那一刻我觉得自己还是很专业的
后端最擅长的事是把一个简单需求做成一次架构升级。我笑了笑,决定不解释。我把这个服务的日志打到了本地磁盘,终于不受平台限制。办公室安静得能听见键盘声
我看了眼这条链路的层级,深得看不到底。我先确认了一遍前置条件,再动手。我在日志里把 traceId 打上,排查信心立刻回来了。这大概就是程序员的人生吧
这个接口的入参有八种组合,文档里写了三种。我重新看了一遍手上的计划,把风险项标了出来。我把这个分布式锁的过期时间设得长了一点,误删的场景少了。幸好之前留了备份
这个服务的超时设置是去年拍的,到现在没人动过。我默默记下了这句话。我在这个服务的启动日志里找到了一行不起眼的警告。第二天这个方案就变成了团队标准做法
接口上线前一切正常,上线后流量成了新的变量。我在心里点了点头。我打开了这个队列的堆积监控,发现消费者早就停了。这大概就是程序员的人生吧
后端的每天是在写新功能和查旧问题之间切换。我忽然觉得,这可能就是这一行的常态。我打开了这台机器的负载监控,CPU 一直在贴着顶跑。从此我多了一条团队规约