当前位置:首页 > 实用技巧 >

小程序一直闪退怎么回事(进小程序之后一直闪退是怎么回事)

来源:原点资讯(www.yd166.com)时间:2023-05-18 08:21:11作者:YD166手机阅读>>

最近在思考 MDD 结合 SRE,花了两周的时间打造了小程序端的可观测平台,接下来和大家分享一下整个心历路程。谈谈我的一些启发,顺便谈谈当工程师具备 MDD 意识后,是否能如虎添翼。

事情的背景是这样的,2 月 10 日,好大夫部分小程序用户投诉上传图片失败。整个排查过程有 10 多人参加,排查了三天才有结论。我们来回顾一下当时的情况。

一、一团乱麻,谁人背锅侠?

大家知道上传图片失败问题,一直是个老大难,因为失败的原因太多了。对一般的工程师而言,整个流程可能是一个黑盒模型,缺少一个抓手去分析问题。

小程序一直闪退怎么回事,进小程序之后一直闪退是怎么回事(1)

这时候工程师大脑中会有一堆问号。

小程序一直闪退怎么回事,进小程序之后一直闪退是怎么回事(2)

简单说一下这个问题是如何排查的。

  • 怀疑用户网络问题,联系用户切换网络尝试依然失败。加上分析 Kong 日志,发现部分用户重试多次都是失败,切换到好大夫的 APP 能上传成功,前端认为不是用户侧网络问题。
  • 怀疑链路传输问题,我们有多家网络节点运营商,尝试切换链路,甚至直接回源,问题还依然存在。期间通过抓包并和运营商技术一起排查未能明确问题原因,给出的反馈还是用户侧问题。
  • 怀疑小程序版本问题,2 月 9 日有个业务方向上线了小程序,修改的是 http2 相关的,大家很兴奋,时间点也能对上,觉得抓到罪魁祸首了,然后就是紧急上线,用户更新包后问题依然存在,这下打击有点大。
  • 怀疑 Kong 进程处理异常。前面几个关键点都怀疑了,大家谁都说服不了谁的问题。11 日晚上重启 Kong 进程,担心 Kong 进程启动太久,有垃圾没有回收,有点病急乱投医了,试一试总不差。重启后第二天问题依然没有得到缓解。
  • 经过几轮排查,对比最近几天 code=400 的占比趋势,2 月 10 ~ 11 日比之前多了一倍,Code=400 的 route_name 基本上也都是小程序侧的上传图片接口。基本上定位是小程序端的问题,越发怀疑微信端是否异常了。联系微信社区,联系微信内部开发,2 月 13 日下午才得到反馈:“2 月 9 日下午微信升级了基础库,灰度了 1%IOS 用户,并于 2 月 11 日回滚,部分用户还有异常需要清理缓存”。

虽然这次问题是找到了,整整三天,包括运维、前端、服务端、系统架构组一共有 10 多人参入了排查。

痛定思痛,有没方式缩短异常定位时长呢?首先我们来看看用户上传会经历哪几个环节。

一次网络请求,中间其实经历了很多环节,细节这里就不展开讨论了,我们来看一下简化后的模型,用户发起请求,到网络节点,再到源站处理,再经过网络节点返回响应给用户。

小程序一直闪退怎么回事,进小程序之后一直闪退是怎么回事(3)

从图中可以看出,上传失败存在几个关键的环节中:用户侧、网络节点、入口网关、后端服务。

  • 可能是用户侧本地异常,如机器内存不足,小程序闪退。可能是用户网络不稳定,还有可能是用户在上传图片的过程中,中途将小程序切换到后台,重新唤起小程序续传失败。
  • 为了请求的安全和加速,在请求打到源站入口网关前,是先走运营商传输节点,传输节点也对接了多家运营商,传输不稳定或命中防火墙策略也会造成上传失败。
  • 入口网关用的是 kong,如果路由策略配置异常,或者 Kong 节点异常,或者某个 upstream 节点异常都会造成上传失败。
  • 后端图片服务,如果处理能力不足,负载高,进程夯住,或其他异常也会造成上传失败。

经过思考,如何做到普适性呢,就要面临以下几个问题。

  • 异常能被有效地观测到吗?
  • 异常定位对经验要求很高,如何减少传承成本?
  • 异常分析有哪些提效的工具链,能平台化吗?
  • 异常千千万万,再加上排练组合,真的能通过数据分析出来吗?
  • 异常分析平台增加了学习成本,会不会增加工程师负担,会质疑研发平台的受益?

深入思考,有点细思极恐,异常定位好难呀,提效异常定位更难!

二、追本溯源,能否提效异常定位?

很多工程师在分析异常的时候,往往聚焦单次问题,一上来就陷入个案分析的细节,耗神耗力,心态都会查崩。

随着网站拓扑的演进,异常定位也越来难,很多公司都在推进 SRE 体系建设,其中对可观测性呼声也越来越高。异常如何被量化,被观测。这其实是一个“工程问题”。

所谓工程问题本质上是数学,需要在一个定义良好的环境里,用定义良好的参数描写一个定义良好的问题。引起网站异常的的原因有各种各样,就像诊断患者一样。统计分析健康的人和病患各项身体基能指标的差异性,从而判断病患程度及探究病因。

结合我的一些日常排障经验,来看一下异常定位这个工程问题。

异常定位需要在一个参照系中进行,通过可视化界面去呈现 SLI 的波动性,而 SLI 的波动性往往是和引起异常的根因相关联。分析不同 SLI 波动振幅差异性大小,从而推断异常的可能性原因。

简单来说,就是给异常进行数学建模,并关联到可观测的 SLI 上。透过 SLI 的表象反查异常原因。说起来比较简单,和医生诊断一样,往往一种病理现象对应了不同的病因,而同一种病因也会有不同的表象。有急性有慢性,还有扩散传递性,一种病变可能引发一系列身体其他的病变,溯源病因可能需要多次会诊。当然经验越丰富,数据越多,模型分析也就越准确。

小程序一直闪退怎么回事,进小程序之后一直闪退是怎么回事(4)

栏目热文

小程序自动打开怎么办(小程序老自己打开怎么办)

小程序自动打开怎么办(小程序老自己打开怎么办)

很高兴控制您的Android操作系统,并了解哪些应用程序在何时何地开放。但它并不总是那么简单,许多应用程序倾向于自动启动...

2023-05-18 07:46:12查看全文 >>

小程序闪退解决方法(苹果小程序闪退解决方法)

小程序闪退解决方法(苹果小程序闪退解决方法)

人民法院在线服务小程序,集成整合调解、立案、阅卷、送达、保全、鉴定等全国通用诉讼服务功能和地方法院特色服务功能,支持各族...

2023-05-18 07:40:26查看全文 >>

三星滚筒洗衣机不能脱水怎么回事(三星滚筒洗衣机可以单独脱水吗)

三星滚筒洗衣机不能脱水怎么回事(三星滚筒洗衣机可以单独脱水吗)

客户报修一台三星滚筒洗衣机不脱水故障,客户很急,说下午趁着天气好要洗床单被套,我说尽量快。一切照旧从简单入手,按快洗程序...

2023-05-18 07:48:38查看全文 >>

学考排名怎么看(还有什么方法查学考排名)

学考排名怎么看(还有什么方法查学考排名)

请去微信搜索关注【高考直播】公众号可查看这方面更多的内容。报志愿时除关注考生分数外,还需要关注考生的排名。了解排名填报志...

2023-05-18 08:05:52查看全文 >>

学考报名怎样才算过(学考报名怎么报)

学考报名怎样才算过(学考报名怎么报)

今天,福建省教育考试院发布了关于2023年4月福建省普通高中体育与健康学业水平考试有关工作的通告:一、考试(一)考试方式...

2023-05-18 08:24:16查看全文 >>

小程序打开一下就黑屏怎么解决(打开小程序屏幕变暗怎么回事)

小程序打开一下就黑屏怎么解决(打开小程序屏幕变暗怎么回事)

最近郑州口罩问题如火如荼,法院开始频繁使用网上开庭小程序,经过几次的开庭我发现小程序会时不时的崩溃,对于一字千金的庭审现...

2023-05-18 08:16:41查看全文 >>

小程序不停地闪退(小程序链接打开闪退)

小程序不停地闪退(小程序链接打开闪退)

最近在思考 MDD 结合 SRE,花了两周的时间打造了小程序端的可观测平台,接下来和大家分享一下整个心历路程。谈谈我的一...

2023-05-18 08:24:22查看全文 >>

为什么一进小程序总是会黑屏(小程序打开是黑色的怎么办)

为什么一进小程序总是会黑屏(小程序打开是黑色的怎么办)

最近几天开始研究微信小程序,想做个自己的微信小程序,结果一开始就遇到了滑铁卢——微信开发者工具打不开。打开就黑屏,弹不出...

2023-05-18 08:14:57查看全文 >>

违约退房不退剩余房租(乙方违约退房可以不退房租吗)

违约退房不退剩余房租(乙方违约退房可以不退房租吗)

去年,鹿女士通过中介公司在长春市亚泰杏花苑租了一年的房子,但因家里有事,鹿女士提前解除合同,并承担了一个半月违约金,剩余...

2023-05-18 07:57:30查看全文 >>

租房如果没签合同谁吃亏(租房没签合同出了事谁承担责任)

租房如果没签合同谁吃亏(租房没签合同出了事谁承担责任)

一、无法申报扣税最近刚施行的6项专项附加扣除个税,若你想申报租房租金扣税,但没有租赁合同你就办不了了,这时再想和房东签订...

2023-05-18 07:58:11查看全文 >>

文档排行