这事我还经常干
有一次坐747,刚好那天下载在iPad上的两集都是747空难。
我倒没啥特别感觉,旁边的人可能心情比较复杂……
虽然没有在飞机上看过,但是一直很喜欢看《空中浩劫》,基本把2015年之前的所有章节都看过。体会有几个:
1. 飞机尾部是最为安全的,这导致我后来很长时间选座位都选在倒数1、2、3排。时刻为飞机的坠毁准备着 -_-
2. 西方对于飞行事故的调查非常尽职尽责,经常要花费好几倍飞机损失的费用去调差事故的原因,目的就是为了防止以后类似的惨剧再发生。同理,对于我们做互联网产品和技术来说,如果发现什么功能用户使用起来有疑惑或者在技术实现上有bug,一定要舍得花大力气做用户调查或者查程序的log来追溯问题的根源。
3. 之前一直很疑惑一个问题:波音747这种大飞机复杂度这么高, 为什么故障率(坠机率)这么低;而windows操作系统相对容易,却死机率很高,10年的win98或者xp动不动就蓝屏死机的。通过看空中浩劫里的描述,我发现一个有趣的事情:飞机并不是没有bug,而是在关键系统上都有无数的backup(备用系统):某一部分坏了之后就启用备用系统。比如:控制机翼和尾翼叶片的液压控制系统有三套(就类似于人体的神经系统一样),在飞机机舱的不同位置,某一套故障了马上切到下一套。即使尾翼上的液压控制全部失灵,飞机还在发动机上冗余了一套通过发动机动力输出调节来实现飞机缓慢转向的系统。也就是说:并不是去极限追求系统每个部分都0-bug,而是在关键部分多加冗余。大概在2013年的时候,我受到这个的启发,给facebook messenger的消息收发模块做了一套自动重发和多channel冗余发送的系统(就和飞机类似,用好几个channel发送message,有MQTT、HTTPS、APNS等,另外配上 exponential backoff 的反复重发逻辑;然后把这套系统给manager和director说,他们很是喜欢。最后还起了一个牛逼的名字 - 宙斯盾。。。)
现在回想这一切,还挺感谢看空中浩劫给我带来的启发。