北大青鸟Java培训:运维程序员如何快速处理在线问题?

对于大部分运维程序员来说,时刻关注服务器和系统程序可能出现的问题并提前解决是非常必要的。

今天我们就通过案例分析来了解运维程序员如何快速处理线上问题。

一旦掉进坑里,明智的做法一定是:跳进坑_ & gt填坑_ & gt避免坑,在线故障处理的流程也是一样的。优先级从高到低。在线故障处理的目标是:跳坑‘跳坑’——快速恢复在线服务,或者减少对在线服务的影响。

在线服务的可用性决定了服务提供商的客户利益,并影响公司的收入。

一旦在线环境不可用,无法服务用户,会给公司/团队带来经济损失,更严重的会给公司/团队带来不好的口碑。

所以一般公司都会对上线环境提出稳定性和可靠性的要求,这也是团队甚至部门的kpi。

为此,遇到生产故障后的一个重要任务就是恢复生产服务。即使无法完全恢复在线服务,也要尽力将对在线服务的影响降到最低。

填坑‘填坑’——找到问题的原因,从根本上解决问题。

在恢复线上服务,尽量减少对用户/公司/团队的影响后,我们需要彻底调查问题,找出故障的根本原因,从根本上解决问题。

通常情况下,‘填坑’和‘跳坑’是同时进行的,‘填坑’完成就意味着‘跳坑’成功。但是,在紧急情况下,有一些特殊的“跳坑”方法,如重新启动服务,或降级/融合服务等。,而实际上当时并没有完成“填坑”,而是采取非常规手段先“跳坑”。

避坑‘避坑’——举一反三,消除隐患。

找到了根本原因,解决了问题,就需要举一反三,思考这个排查和处理过程中的弱点。哪些流程/规范/系统需要优化?这样的问题在其他系统或者团队中存在吗?通过这样的反思和自我批评,形成网上事故报告,不断完善流程,避免再次踩坑,也在团队中交流经验,共同提高。

在线故障处理的思想是基于在线故障处理的目标和目标的优先级。在线故障排除的一个目标是恢复在线服务或减少对在线服务的影响。重点是“快”字。在“跳坑”和“填坑”之后,总结回来就是避坑。

因此,在线故障处理的步骤可分为:故障发现、故障定位、故障排查和故障回溯,其中前三步为‘跳坑’行为,后一步包括‘填坑’和‘避坑’。

以上步骤并不是说要从上到下依次进行。建议并行做,不要混淆,因为通常一个在线故障后,会紧急启动故障处理程序,运维、开发、测试、产品所有角色都会参与。这时候就继续分工,并行汇总消息,快速排除故障,恢复服务。

这种思路类似于操作系统的fork/join设计思路,旨在提高效率。

当无法快速找到故障原因时,要果断跳过故障定位环节,直接排除故障,如采用服务降级、服务器扩容等手段,确保在线服务低可控。

北京北大青鸟/建议可以等到上线服务‘支持’了,再慢慢定位故障原因,从根本上解决问题。