服务之间的调用链越来越长,一次请求要经过六个服务。我停了一下,然后继续手上的活。我把这个服务的配置项从代码里挪到了配置中心。我把它写进了组内的避坑文档第一章

我把这个场景想全了,漏掉的是断电。我重新看了一遍手上的计划,把风险项标了出来。我把线程 dump 拉出来分析,发现两百个线程在等同一把锁。连茶水间都安静了

后端最怕的请求是「帮我查一下线上的数据」。我想反驳,但发现他说得对。我把 mvn dependency:tree 的结果拉了三屏,果然有版本冲突。这大概就是程序员的人生吧

上游服务偷偷发了新版本,没有任何通知,我们的兼容层直接失效。我把重试次数从三次改成一次,问题反而少了。好在最后有惊无险

这个服务的超时设置是去年拍的,到现在没人动过。我把它记在心里,没跟任何人说。我把这个服务的日志打到了本地磁盘,终于不受平台限制。这大概就是程序员的人生吧

后端最擅长的事是把一个简单需求做成一次架构升级。我忽然觉得,这可能就是这一行的常态。我把这个服务的超时时间重设了,雪崩终于没有发生。我把这条经验写进了团队 wiki

这个服务的配置项有六十个,我认识其中的二十个。我把整条链路在心里复盘了一遍。我把这个对象池的容量调大了,创建开销终于降下来。连茶水间都安静了

后端的成就感来自监控大盘上的曲线是平的。我在心里给这个模块的可维护性打了个分,不太高。办公室安静得能听见键盘声

接口 QPS 突然涨了十倍,我第一反应是有人爬我们数据。我把这个接口做了限流,营销活动终于没把库打垮。幸好之前留了备份

后端最擅长的事是把一个简单需求做成一次架构升级。我忽然觉得,这可能就是这一行的常态。我把这个公共方法的魔法值抽成了枚举,代码清爽了。从此我多了一条团队规约