Twitter宕机:两套数据系统同时出现故障
世界已经化成了数据洪流。但只有当那些神秘的数据中心停止工作时,我们才能发觉和这个世界的联系其实是在这些 0 和 1 之上。
文|CBN 记者周昶帆
位于美国加州中部的萨克拉门托(Sacramento)有三个身份:1850年代的淘金人口集散地、如今的加州州府和 Twitter 的数据中心。
7月 26 日上午 8 点 20 分,这个数据中心停止了工作。当你输入 Twitter 网址时,你会看到页面显示“Twitter 目前因某些原因宕机,预计稍后恢复”的提示。这种状况持续了两个多小时,直到 10 点 25 分,Twitter 才恢复正常。部分用户怀疑这和 7 月 27 日开幕的伦敦奥运会有关。
尽管 Twitter 的运营团队通过后台的流量图看到了即将到来的奥运会热潮对各项指标的拉升—这种可预期的、能带来大流量的事件,Twitter 一般都会提前做准备,然而意外还是发生了。
在 Twitter 的预案里,如果这里发生了洪水、地震或者其他任何有可能导致服务器停止工作的问题,距离萨克拉门托 965 公里的另一个数据中心就会开始工作,它位于托管服务商 Raging Wire 旗下的一处建筑内,当然,情况也可能相反:Raging Wire 这边出了问题,萨克拉门托开始工作。
无论哪一种情况,Twitter 希望保证的是用户的不间断使用体验,即便是远在大洋彼岸的用户,也可以正常地把自己的消息 Tweet 出去,而不会感受到服务中断。
对于互联网公司而言,在线就是生命。Facebook 早期迅速积累用户并不是由于它来自哈佛大学的好名声,而是它几乎从不宕机。这与当时强劲的竞争对手 MySpace 形成了鲜明对照。
但在 7 月 26 日这一天,Twitter 两个数据中心同时发生故障,全球用户的 Twitter 服务中止。Twitter 提供的解释是由于“基础设施元件中的级联式漏洞”,但没有公布更详细的信息。在 Twitter 的成长史上几乎每年都会有多次重大宕机事故,宕机时网站就会显示出一幅有趣的图片:几只小鸟用线艰难地拉起一头搁浅的鲸鱼。
这是 Twitter 在两个月之内的第二次重大宕机故障。此前一次是 6 月 21 日,Twitter 停止服务将近两个多小时。
Twitter 负责工程技术的副总裁拉瓦德(Mazen Rawashdeh)事后解释说,Twitter 在数据中心有两套能互相备份的数据系统同时出现了故障,这是基础设施上的“巧合事件”。通常情况下,如果一个系统出现故障,那么另一个将被紧急启用。而两套系统同时出现问题则比较少见,为避免类似故障重演,Twitter 称计划对基础设施大幅投资。
数据中心问题一直困扰着 Twitter。截至 3 月,Twitter 已有1.4亿活跃用户,每天会发出3.4亿条 Tweet。随着用户量和信息读写量的增长,Twitter 迫切需要一个能自我完全掌控的数据中心。
Twitter 早期租用第三方的数据服务,之后计划转向租用位于犹他州盐湖城的定制化数据中心,然而在去年该数据中心却出现了漏雨、电力不足等问题,于是 Twitter 不得不改变其计划,另谋他处。
在同一天,悲催的不仅仅是 Twitter。谷歌的即时通讯服务 Gtalk 也在早上 6 点 40 分发生故障,并迟迟没有被修复。有用户报告,微软旗下面对企业客户的云服务工具 Windows Azure 在西欧地区也发生了宕机问题。
在宕机这段时间内,Gtalk 用户发现虽然能够登录,但无法像以往一样正常发送信息以及进行语音、视频聊天。他们持续接到谷歌通过网页更新的问题修复状态通知,时间单位大约为半小时,而这一状态持续了近 5 个小时,算是谷歌史上罕见的长时间故障。习惯线上沟通的用户们不得不转向其他工具,有人说,接连两起宕机事件让他们有一种“全球停电”的感觉。
谷歌的数据中心分布全球且多达 20 多个,目前无法得知是哪一块数据中心发生了故障以致 Gtalk 瘫痪,谷歌至今也未解释具体原因。
世界正在变成一个由数据洪流组成的存在,而整个世界也因几个重要信息节点而相互连接在一起。但即使是像谷歌这样着名的互联网公司也无法保证自己所有的服务全年都不出问题。
据谷歌称,其最受欢迎的服务 Gmail 电子邮件服务 2010 年全年宕机时间为 7 分钟,这已经是业内最短时间。根据 Radicati Group 的数据,电子邮件系统平均宕机时间为每月3.8小时。对比起来,Gmail 可谓优秀。
一般造成系统不稳定甚至宕机的原因是多样的,开发安卓手机管理工具豌豆荚的豌豆实验室技术总监高磊对《第一财经周刊》介绍,在用户使用网站服务时,从用户输入信息,网络传送信息给网站服务器,网站服务器按照程序对用户要求进行处理,将结果返还用户,整个过程中其中一个环节出现问题就会导致网站的服务受到影响,甚至发生宕机而不可用。
引发问题的潜在因素多种多样,包括网站自身程序、服务器的操作系统、硬件设备、机房与网络运营商等基础设施。
如果网站自身程序有 Bug,可能会导致使用变慢,或部分功能失效;服务器的操作系统也会出现漏洞,比如装有 Linux 部分版本的服务器就在本月因为闰秒问题而宕机;服务器硬件本身损坏,比如硬盘或内存都存在一定物理故障的机率。
而在基础设施上,机房停电或进水、遭到雷击等也会造成设备停止运行。最基础的问题是过热,因此大型数据中心旁边一般都有冷却装置。
6月底,美国一场风暴袭击了弗吉尼亚北部,大面积电力供应中断。而恰巧亚马逊在这里安置了 US-East-1数据中心,因为停电,整个数据中心瘫痪。
亚马逊是业界领先的云服务提供商,其提供给网站以数据服务的云服务 Amazon Web Services 也因此一度中断服务。之后连锁反应便产生,使用其服务的 Instagram、Pinterest、Quora、Netflix 等知名网站也停止了服务,进而影响到各自的生态系统。
为避免风险,一些网络公司选择不把鸡蛋放在一个篮子里,设置多个数据中心,或者在使用云服务时同时选择多家供应商,当然,这也会增加成本。
据新浪微博技术总监杨卫华对《第一财经周刊》介绍,是否能稳定登录,响应的速度怎样,都会对用户的体验造成直接影响。新浪微博采用了分布式的架构,这意味着它没有把所有的服务器都放在新浪所在的北京,而是在国内多个主要城市都设置了数据中心,在突发事件发生后的流量处理和响应速度等各方面来保证用户体验。
你在宕机时体验到多少焦虑,稳定对于互联网公司就有多重要。
当越来越多的人被接入同一个网络比如被称为“世界的脉搏”的 Twitter,数据中心瘫痪的风险等级也相应增加。这些数据就存储在像加州萨克拉门托的大房子里,一旦宕机,空白也从这里开始。