下午三点发版,刚重启完就赶上咨询高峰,客服电话响了二十分钟。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

# 分批重启
for i in 1 2; do
  systemctl restart app@$i; sleep 60
done

发布时间和业务高峰重叠,重启窗口被放大,真出问题也没有足够时间观察和回退。这一点先确认清楚,后面就不用反复试。

「发布窗口选择」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

具体做法是,把发布放到访问低谷并避开整点;分批重启保留一半实例在线;发布后盯十分钟关键指标再走。

改完照着核一遍,发布期间监控里的错误率没有明显抬升,用户侧基本无感知。

作者 9823189