微信大宕机,得跟运营商取经了
(7月22日)是微信的黑色星期一,一大早,小伙伴们就发现微信一直处于连接状态,于是在它的表兄QQ群里互相打听出了啥事。后来微信官方团队在新浪微博上更新了几条动态,让大家了解到了原因。直到下午两点半,用户们才陆续爬上微信,正常刷新朋友圈。整个中断时长达六个半小时。
山寨发布会里有记者从官方问到更详细的原因:上海市政施工时挖断了两路光缆,导致微信华东数据中心处理能力受到严重影响,只能将各类请求分流到华南、华北的数据中心,超出了后两者的处理能力,最终导致全国的数据中心都负担过重,大家一起掉线。所以说,这可以说是一次多米诺事故,上海几个工人的挖掘机一抖,全国四亿用户都从线上掉下来。
两条光缆挖断导致这么严重的故障,记者们讨论下来,大多数觉得微信的设备备份和冗余工作做得不大到位。
山寨发布会里都是TMT记者,既有偏重互联网口的,也有偏重通信口的。说实在的通信行业这两年被互联网欺负得挺厉害,大家都说OTT业务,要隔着运营商的脑袋过顶传球;微信取代运营商的呼声也不绝于耳,雅安地震时“短信不通微信通”都被某些人拿来做痛斥运营商、呼唤互联网革命的由头。
这次微信出的故障,就让通信记者找到了说句心里话的机会。而且作为通信专业的毕业生,淼叔还得说,人家说得有道理。单说一个断网时间吧,在任何通信运营商那里,哪怕是服务烂得跟一摊狗屎一样的中国联通,全网中断都几乎没有过;即使有局部地区短信中断或话路中断,基本也很少超过一小时。汶川地震那种震惊世界的规模,移动运营商基本上也在五个小时内恢复了通信。而因为那次地震吸取了教训,到雅安地震时,运营商已经做到了一小时内恢复通信(想了解详细过程的,可以去买本期《财经国家周刊》看一下)。
而且,在故障处理方面,通信运营商积累了很多经验值得互联网企业学习。通信抢修工程不太好说多久能完全恢复,因为各地的施工条件、设施都不同。不过通信故障处理中有个概念叫“抢通”,就是先用应急方案保证链路畅通,能基本传输话音和数据。这个抢通的要求时间一般在一小时之内,超过了就算重大事故了。
通信企业如此重视服务连续性保障,大概跟电话网络建立了上百年、有了很成熟的运营体制和客服规范有关。而说到互联网服务,在中国最长的也没到20年;亿级以上用户的互联网服务一共出现了不到十五年,这种数亿用户同时在线的服务更是几乎可以说中国特色(人多啊)。所以,在为数亿用户同时提供有保障的服务方面,互联网企业还有很多课要从通信企业那儿学。
另一个方面,从技术上来说,互联网跟通信网的发明初衷是不同的。撇开两者早期一个模拟、一个数字不提,电话网要做的就是实时传送语音,然后慢慢在清晰度上下功夫;互联网的早期框架是为了应付核战争下的数据可靠传输,是一开始就要求清晰度(数据不失真),然后才兼顾速度。所以互联网一开始的诉求并不是实时传输,更不是大规模并发实时访问。从它的基础协议TCP/IP协议也能看出这一点。前两天有几个程序员在微博上开玩笑,说TCP/IP协议像老太太一样啰嗦,甲乙双方正式通信前首先要握手确认:甲说我现在要发信了握个手,乙说我收到了甲的握手信号;甲说我收到了乙说收到了甲的握手信号的信号;乙说我收到了甲说收到了我说甲的握手信号的信号的信号。双方确认老半天,才开始发信。每个信息还要带一个纠错码,对方接到了信息发现纠错码不符,这个信息就得重发。
从上面这个过程看,TCP/IP其实是非常占网络资源的一个协议,而且容错率很低,一有错误就要重发;如果哪儿断了一条光缆,成千上万个甲和乙在光缆两端拼命喊握手啊握手啊,收不到对方的回信他们又会去寻找一切可用链路去跟对方握个手(这是互联网的另一个特点,路由多样),逐渐就把正常链路也搞瘫了(当然,微信不确定用的就是TCP/IP协议,起码它表哥QQ用的就是简单得多的UDP协议)。
所以,在微信等类电信服务越来越发达的时候,互联网在协议和硬件层面相对于通信网络的不同就会越来越受到考验,因为它本来就不是干这个用的。而中国的互联网用户又对断网特别宽容——这都是给Google、Facebook和Twitter等网站锻炼出来的——反过来会导致互联网服务提供商不像通信运营商那么在乎断网。马克•扎克伯格初创Facebook时因为好友没及时给服务器续费差点翻脸,因为他的追求就是永不宕机,否则用户会离他而去。搁在中国,估计他跟这个好朋友就一直要好下去了。
这可能是很多拥有巨大用户的互联网服务下一步面临的问题——它们越来越被要求像通信运营商一样提供不中断的可靠服务了,而看起来无论在技术上还是制度上,他们都有很长的路要走。
来源:山寨发布会
目前有 2 条评论