今天和大家分享一个话题:

怎样才算得上是优秀的程序员?

其中一个判断维度就是:处理线上问题是否快狠准

一般流程

1、收到告警;
2、流量突增告警比如突然多了很多流量,一般就是判断是否加机器或者开启相应限流操作;
3、并不是流量突增告警,那么查看变更系统,确定是否相应变更?上功能代码?修改配置?修改db?修改…先回滚变更,观察系统是否回复?99%情况基本恢复。
4、如果并没有变更?可能不是自己系统问题,是上下游出现问题或者中间件问题,查看监控系统,确认异常指标大概情况,大概定位并且沟通。
5、确认系统恢复。
6、在进行问题定位。
7、通过监控查看时间段和确定大概问题。
8、通过查看日志系统以及全链路系统。
9、确定问题。
10、讨论修复方案。
11、修复测试上线观察。
12、复盘整个流程,

反思一下

  • 为什么告警不明确?

  • 告警阈值是否需要调整?

  • 为什么xxx分钟之后才告警?

  • 为什么发布变更导致问题,CodeReview没做?

  • 还是哪里没做好?以后应该怎么做?

  • 处理过程中哪里处理的不好下次怎么避免?

  • 哪里做的好应该推广的?

一系列问题的思考复盘避免下次问题出现以及快速解决恢复,欢迎大家一起讨论和补充!