后端的诉求很简单:别让我在周末收到告警。我把它记在心里,没跟任何人说。我在心里给这个版本的上线风险排了个序,排到了第一位。这大概就是程序员的人生吧
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
对方服务的接口没有幂等,重试了一次,订单变成了两个。我把手上的资料翻出来又读了两遍。最后发现是缓存和数据库的更新顺序反了。这条经验值直接拉满
第三方接口文档三年没更新,对接全靠抓包猜参数。我盯着屏幕沉默了十分钟。我把这个对象池的容量调大了,创建开销终于降下来
OOM 了,堆 dump 下来 3 个 G,打开一看全是缓存,缓存了三年前的数据。我把连接数从 20 调到 100,服务立刻安静了。世界瞬间清净了
我数了下这个服务的依赖,一共十九个。我盯着屏幕沉默了十分钟。我在心里给这个方案准备了一个备用路径,希望用不上。我把这条经验写进了团队 wiki
这个服务的超时设置是去年拍的,到现在没人动过。我听完沉默了,因为太真实了。我在心里把这个需求的实现路径理了一遍,然后决定先问一下。真香定律准时生效
我数了下这个服务的依赖,一共十九个。我盯着屏幕沉默了十分钟。我把这个序列化方式换成了更省空间的,带宽立刻下来了。果然现实比段子更精彩
后端最难的不是写出功能,是让它别崩。我忽然觉得,这可能就是这一行的常态。我把这个异步改成了同步,问题解决了,性能下来了。那一刻我觉得自己还是很专业的
这个模块的注释比代码还长,说明改过很多次。我停了一下,然后继续手上的活。我把这个接口的幂等加上,重复提交终于不再产生脏数据。果然现实比段子更精彩
后端的问题很少出现在代码里,多半在配置或者环境。我听完沉默了,因为太真实了。我打开了缓存命中的监控,发现命中率只有三成。我把这条经验写进了团队 wiki