“请你来聊聊,你所经历过的线上故障,以及有哪些比较好的故障处理方法。”
我是一名移动端开发的工程师。移动端的开发工作和前端(线上环境)开发还是有一点区别的。移动端的开发一般在上线前会做测试,严重的问题一般在测试过程就解决了,很少情况发版后出现大面积的奔溃情况。但是线上环境不一样,线上环境发版的周期会大大短于客户端,很多的活动都会频繁的上线和下线。影响的范围也大于移动端。
遇到过最严重的一次事故是由于服务端的修改引起了移动端的奔溃。而且这个奔溃发生在 app 启动的时候。也就是说用户点了应用图标,起来马上就又闪退了。当时的 app 设计是起来后会去请求服务端的相关配置信息,相信很多的 app 也是这么做的。造成这个故障的原因是由于 app 对异常的处理不够完备,服务器端又恰巧修改了配置数据,导致 app 端拿到了一个引起奔溃的数据结果。后来因为是上班时间,发现问题后大家都在,及时恢复了服务端数据,遏制了事态的进一步发展,但是已经出现奔溃的用户由于在重新请求服务端数据前就奔溃了,只能通过发布新版本解决这个问题。
一旦服务端和移动端相互影响(往往是服务端影响移动端)引起的奔溃,往往是比较严重的,很多时候不得不通过发布新版本才能解决问题。所以移动端一定要做好服务端的异常处理。
展开