ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 1.故障处理原则 故障处理的原则只有两个: 1. 以恢复业务优先 2. 及时升级 # 2 恢复业务优先 ## 2.1 从服务端来看运维故障处理方法 如果从服务端来看,运维恢复业务最重要的三个方法是:**重启,隔离和降级。** **重启**:重启包括服务重启和服务器重启(os重启)两种,在发生故障中,任何中涉及到的环节,都可以重启来完成,重启的一般顺序是,故障对象>故障对象上游>故障对象下游,一般离故障对象越远,重启顺序越靠后。 **隔离**:隔离是指对故障的对象从集群中抽离的过程,目的是让故障对象不再提供服务,隔离的方法包括以下两种,按照常用频率排序: 1. 调整上游权重为零,如果架构上有自检测机制,那么也可以直接停止故障对象的服务,让上游健康探测时效。 2. 通过绑定hosts或者配置路由的方式,绕开故障对象。比如智能路由管理域关闭某一条线路。 这里需要注意的是,防止雪崩效应。 **降级**:降级是指为了防止产生更大的故障所采取的一种预案,一般而言,降级一定不是当下生产的给用户的最优状态,即使没有技术影响,也会或多或少带来一些业务的影响。 降级不仅仅是运维的事情,要联合业务研发或者说推动业务研发一起去实施。 ## 2.2 从客户端去看运维故障处理方法 一个故障发生后,影响方会分为两类:外部用户和内部用户。 ### 2.2.1.外部用户 外部用户的处理会比较麻烦,处理的思路是,如何把外部用户转变成内部用户,比如,一个外部客户使用APP出现某个问题,这时要做的是有两个方面: 1. 自己在本地模拟是否可以重现,如果可以重现,那么就不是外部客户本地环境(比如网络)问题,是内部系统问题,那么变成内部用户处理。 2. 如果自己在本地模拟不能重现,那么多找几个内部用户模拟,防止自己环境问题,同时,让用户进行hosts绑定到其他入口,排除DNS,一些外网链路问题。 如果上述两个方面都不行,那么就比较麻烦了,这时要收集一些必要的外部用户信息才能进行处理,比如出口IP,所用客户端版本等等,这里建议收集信息有个模版,一次性完成,因为外部用户处理时效往往会花在沟通成本上。 ### 2.2.2 内部用户 内部用户指内部使用人员发现的问题。可以借助浏览器调试器F12跟踪,以及安装调试版客户端,通过埋点打印客户端日志来调试分析问题。 # 3.故障总结 分析定位故障的发生原因,及后续优化措施。尽量从根本上解决问题,避免发生重复故障和类似故障。