手淘Alert事故,热修复方案

前言

手淘3.26号,iOS大范围出现首页Alert强制更新, 然而大家刚八卦没多久, 手淘线上修复了.随之第二天紧急版本就上线了.
这里不得不佩服手淘技术团队的强大, 那位在如此强大团队中,写出这个alert的肯定也是大佬一枚

事情发生后我就在想如果事情发生在我们的APP中, 我们是否拥有这种应急的机制和能力呢, 这也让我想起了去年在58的时候写出了一个线上bug. 那时候就在想,如果拥有动态修复这些bug的能力就好了

然后自己重复早了个轮子TTPatch,基于js脚本实现热修复,热更新.

昨天了解到手淘是用lua热修复的这个问题, 本来担心热修复收益高 但风险也高,就没再深入研究.
手淘的使用让我突然有了兴趣.用了两天的时间把TTPatch完善了一下.

按照手淘的bug场景 使用TTPatch修复了一下

下面是效果展示

taobao.gif
  1. 进入伪淘宝首页, 在viewDidLoad中模拟Alert ,现象为每次进入首页Alert
  2. 点击加载修复补丁, 模拟远程补丁下发加载. 并持久化, 待下次启动直接下载补丁
  3. 进入伪淘宝首页, bug已动态修复.
  4. 退出重新启动
  5. 进入伪淘宝首页, 无需再次加载远程补丁, bug已动态修复.

最后附上TTPatch地址,内含Demo

TTPatch.github

你可能感兴趣的:(手淘Alert事故,热修复方案)