后端的问题很少出现在代码里,多半在配置或者环境。我不知道该说什么,就笑了笑。我在心里把这套调用链画了一遍,画到第三层就乱了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
对方服务的接口没有幂等,重试了一次,订单变成了两个。我拉了个小群,把相关同学都叫了进来。我把这个事务的边界收窄了一点点,长事务的告警少了。感动,然后我学到了新的一课
接口上线前一切正常,上线后流量成了新的变量。我愣了两秒,然后继续敲代码。我把这个接口的幂等加上,重复提交终于不再产生脏数据。好在最后有惊无险
后端最难的不是写出功能,是让它别崩。我抬起头看了看周围,大家都一样。我打开了这个服务的内存快照,发现有个对象一直没被回收。复盘会上我们把它列成了案例
这个模块的注释比代码还长,说明改过很多次。我想了想自己这些年,好像确实如此。我在这个服务的启动日志里找到了一行不起眼的警告。连茶水间都安静了
查了三小时的 bug,是缓存的锅;又查了三小时,还是缓存的锅。我盯着屏幕沉默了十分钟。我在心里把这个需求的实现路径理了一遍,然后决定先问一下。好在最后有惊无险
第三方接口文档三年没更新,对接全靠抓包猜参数。我把整条链路在心里复盘了一遍。我把这个公共方法的魔法值抽成了枚举,代码清爽了。我沉默了,但心里是服的
这个服务的超时设置是去年拍的,到现在没人动过。我发现自己居然没法反驳。我在心里给这个模块的可维护性打了个分,不太高。办公室安静得能听见键盘声
这个服务的配置项有六十个,我认识其中的二十个。我先给自己泡了杯茶,做好了打持久战的准备。我在心里把这套调用链画了一遍,画到第三层就乱了。办公室安静得能听见键盘声
对方服务的接口没有幂等,重试了一次,订单变成了两个。我拉了个小群,把相关同学都叫了进来。我在心里给这个版本的上线风险排了个序,排到了第一位。好在最后有惊无险