2015年8月6日晚上,腾讯QQ出现无法登录的问题,影响到16款旗下产品出问题,直到晚上22:30才恢复正常。经过腾讯的技术人员排查,确认是QQ服务机房故障导致。在2014年11月7日腾讯的微信曾出现过大面积故障,还有在2014年10月20日,微信也出现过故障,2013年之前故障次数就更多了。
腾讯作为中国三大互联网公司之一,是互联网企业中的标杆企业,每年从名牌高校招聘大量的高技术人才,技术实力毋庸置疑,可为何还总是会出现这样那样的问题。腾讯尚且如此,那其他的互联网企业就更不用提了。就拿2015年来说,才刚刚过去半年,大大小小的各种故障不下10例。对于一个互联网企业,提供优质的网络体验是其生存的根本,所以这次腾讯QQ出现无法登录后,有不少的QQ用户申请百倍的赔偿,当然在当前的网络环境下,这种得到赔偿的概率很小,绝大多数的情况下只能是客户自己买单。既然网络故障带来的负作用这么大,可为何依然还是故障不断呢。我想没有任何一个互联网企业愿意出现这种故障,出了故障那说明其运行的数据中心一定是没有做好,存在一定问题,下来我们就来仔细分析数据中心运行故障高发的成因,供广大的数据中心从业人员学习、参考。
数据中心作为提供各种数据处理的场所,是非常重要的。尤其对于互联网公司,所有的网络业务都是通过访问其数据中心提供的,数据中心的稳定运行是前提。亚马逊的数据中心如果中断1小时,都可以带来上千万美元的损失,还有淘宝,试想中断一会儿就会损失数百万的订单,而现在互联网竞争也很激烈,如果你的网站上买不了,对不起,客户可不会等,就会到别的网站去买,甚至以后都不会再回来买,所以业务的中断不仅是收入的损失,还会流失不少潜在的客户,这对企业未来的发展是非常不利的,所以提供连续的优质的网络服务对于一个互联网企业至关重要。
互联网企业当然清楚这个,所以每年在数据中心上的投入也是非常大的,除了人才的投入,就是数据中心的建设投入占企业的大头,但是到头来还是会出现这样那样的故障,为什么呢?
首先,数据中心的业务增长太快,全球数据量每两年就会翻一倍,就拿腾讯来说,每年都保持着超过40%的销售额增长率,客户数增长很快,而这些客户都要访问数据中心,就给数据中心带来沉重的负担,数据中心就需要不断进行扩容或者新建,很多数据中心机房建设都是仓促上马,这样隐藏着不少的安全隐患,即使是像腾讯这样的大企业也再所难免,高速扩张的结果就是系统架构总是要变,总有不合理的地方,但是根本没有时间和机会去整改,随着业务量的增长,危机四伏。
其次,数据中心是一个对新技术渴求强烈的地方,哪个数据中心都希望可以引入一些先进的技术和设备,从而更好地为业务服务,同时在与其他数据中心竞争时不落后。要知道同样都花1000万来优化数据中心,谁用的技术牛,谁设计的架构先进,往往就可以抓住客户,还能为数据中心节省投资,不过引入新技术,往往给数据中心带来了运行风险。新的技术,虽然可以解决一些老系统固有问题,为业务提供有效支撑,但是毕竟是新技术,还有很多不够完善的地方,运行起来就容易出问题。我们很少听到银行系统中断,银行系统里大量的数据中心使用的还是最基本的技术,有些现在看起来甚至过于陈旧,但是运行稳定,所以银行整体的数据中心运行稳定性就比较好。
再次,数据中心备份系统设计存在问题,为了保证业务的长期稳定运行,数据中心都会设计各种备份技术,从软件、服务器、网络、防火墙、物理链路等等都有备份,当出现故障时,业务自动或者手工切换到备份系统上来,让业务上无感知。但是备份系统是要耗费大量资金来建设的,有时引入过多备份系统,也会将数据中心设计得过于复杂,实际维护起来非常麻烦,一旦出现问题反而不知道问题出在哪里,可恢复的时间要更长,这样的备份系统就得不偿失了。有了备份系统,还要平时进行业务演练,确认备份系统是好的,以免以后真的出问题,备份系统起不了作用。
最后,数据中心里70%的故障都是人为故障,很多时候是维护人员的误操作导致的问题,这样即使有再完美的备份系统,再好的技术,也还是会出故障。所以要加强对数据中心运维人员的管理,这样才能降低数据中心出现故障的风险。
由此可见,数据中心要保证常年业务不出任何中断,做到了的话,那是非常了不起的事情。实际上,绝大部分的数据中心都无法做到,只能是尽可能地降低这种故障风险,技术再强的数据中心也无法确保其运行不出任何问题。连飞机这样安全性这么高的设备,每年还都会发生坠机事故,更何况是数据中心呢?所以我们要对数据中心出现的故障保持一颗容忍的心态,当然这决不是对故障的放纵,忍无可忍时,就无须再忍。频繁地出现各种业务中断故障,数据中心将最终为自己买单,最终损失大的就是数据中心自己。腾讯QQ这次出现故障,决不会是数据中心故障的最后一次,以后还会有。但是每出现一次故障,就应该吸取教训,至少相同的故障不应该重复出现,这对于任何的互联网企业,任何的数据中心都一样,总结经验教训,在技术能力范围内,降低数据中心运行故障的风险。