大家好,我是小米。五一假期已经结束了,本以为值班日子会平淡度过,但没想到生产竟然又出现了“紧急”事故,真是“流年不利”啊!今天我就来回顾一下这次事故,分享一下我们的解决方法,也希望让大家遇到类似问题时能有所帮助。
事情原委
事情是这样的,昨天13:58分,我和女朋友打农药马上推到对方的高地水晶的时候,我手机的企业微信突然显示出一条信息“发哥(架构师):@小米,看看呢”,我打开手机看了下聊天内容“发现用户竟然无法支付订单!而且从5月1号就有订单无法支付了”,这就太严重了。我直接心就凉了半截,高地也没上,最后被队友还举报了,此处省略一万字……毕竟,五一咱还要值班,为了广大的用户大大,为了运营,为了咱自己本就不多的工资,放下手机,打开电脑,开始解决问题。
步骤一:清缓存、重新登录
万年不变的办法,我们首先让用户把小程序删掉,然后清除微信的缓存,并退出微信,重新登录,看看是否有问题。然而,我们发现用户仍然无法下单,扑街~
步骤二:云平台查看日志
我们从云平台查看该时间点的日志,发现没有任何报错信息,那么可以排除掉后端服务的问题。问题大概率就在小程序里面了。
步骤三:小程序线上版本调试
小程序体验版本打开调试,然后退出体验版,打开线上版本,右上角就会有控制台了,然后去下单,发现没有任何报错信息。
步骤四:小程序本地环境模拟下单
前端开发人员可以在本地模拟线上版本操作,发现也无问题。
步骤五:回滚版本
我们用体验版本下单的时候,是发现没问题的,而线上版本则不行,发现线上版本是26号发的,而体验版本是27号发的,怀疑是26号版本有问题,故决定回滚到27号的版本,灰度发布后,还是不行,扑街~
步骤六:提交申诉,平台解封
就在我们一筹莫展的时候,我注意到一个关键的信息“安卓手机的小程序都能正常下单,而苹果手机都不可以”,于是我在想,同一套小程序代码,并没有做平台不一致的处理,觉得问题还是在小程序的身上,会不会是微信官方的问题?(老实讲,我最不希望是这个问题,希望是系统的问题)
按照这个思路我又打开“小程序版本控制软件”,然后在上方发现一个“邮箱”的标识,鬼使神差的点开了它,然后看到下面这个图。
再结合,运营童鞋反馈从5月1号开始就不能正常支付的问题,一切的问题都迎刃而解了,这我是真没想到会有这件事,看来做任何事情都要吃透政策。
原来在5月1号那天,有运营童鞋上了一些虚拟商品,在平台是不允许支付,我们让运营童鞋把违规的商品下架了,并重新提出申诉,小程序又能正常使用了。
总结
通过这件事,我总结了以下6点内容:
- 小心谨慎,做好系统的容错和安全性。在开发、测试、部署和运维环节中都要注重细节,保证系统的稳定性和可靠性,减少出现问题的概率。
- 小程序开发人员需要对小程序的规则和政策有深刻的了解,这样才能快速诊断和解决问题,避免时间和资源的浪费。
- 在开发过程中,要充分考虑不同平台的差异性,以避免类似的问题。在测试和部署前,一定要充分测试各种情况,以确保系统在各种环境下的稳定性。
- 要及时向运营团队和用户反馈系统问题,并积极协调解决方案,以减少系统故障对用户和业务的影响。同时,也要对用户和运营团队做好宣传教育,以避免类似的问题再次发生。
- 感性认识“人类因素”的重要性。在快节奏的工作中,需要保持头脑清晰,不慌不忙,及时发现问题并解决问题。同时,也要根据工作经验和直觉做出判断,避免局限于数据和规则的束缚。
- 在团队合作中,需要加强沟通和协调,减少误解和分歧。开发人员、测试人员、运维人员、运营人员等各个团队之间的协作非常重要,在遇到问题时需要及时沟通和协调,以共同解决问题。