2017年6月18日,新浪微博系统出现故障,网友通过Ping命令测试IP可用性时发现,新浪微博的服务器已经失去响应,此次新浪微博宕机时间接近1个小时,目前微博已经提供正常服务。 业务连续性对互联网企业营收的影响 其实,稍微关注过新浪微博的宕机事件,我们会发现至少从2015年到现在,微博每年都会有一次大故障的发生。作为登陆纳斯达克的全球范围内首家上市的中文社交媒体,新浪微博自2014年4月17日以来,市值一直被看好,虽然国际化没有twitter做得好,但是广大的中国用户群体是其广告收入的可靠保障。 那么每次的宕机,毫无疑问会对新浪微博的广告服务收入带来影响,虽然在数据上微博没有被量化,但是我们可以对比2015年宕机事件,当时据预测,按照2015年一季度的携程财收数据,携程每小时宕机损失在百万人民币级别,这是24小时的平均数据,如果换算成有效的工作时间,这个数据将会翻倍,并且随着时间的增加,损失会更多。 数据不丢的双数据中心方案 数据不丢,是很多宕机事件首先关注的点,但是数据不丢并没有解决宕机造成的业务营收的损失,而传统的容灾备份方案,很难对互联网领域的业务连续性起到很大的关键作用。因为互联网企业很多采用开源的IT技术,从底层开始就构造自己的容灾架构,以互联网的业务分布看,主要是通过PC或Web端的网站提供终端客户的在线服务,因此也赋予了网站的灾备方案不仅要承担容灾的任务,很多时候也要承担着负载均衡,优化性能的任务。 在企业灾备建设领域,比较流行的容灾模式有数据级容灾及应用级容灾,前者强调异地的数据备份体系建设,后者强调本地生产系统发生故障时,异地系统可以提供完全可以的备端生产环境。因为大型互联网公司对数据安全和业务连续极为看重,所以在容灾建设方面更注重安全性与可靠性,比如建立两个能够同时读写的数据中心,确保当A数据中心宕机时,B服务器还能继续工作。 不可否认,双保险确实可以做到很好的数据保护及业务连续,虽然造价很昂贵,但是很多时候,互联网用户觉得很可靠。但是有一个隐患确是无法忽略的,那就是人为的误操作导致的两个数据中心同时出现故障,比如IT人员的误删除操作,就会导致AB两个数据中心会同时出现故障,服务器同时宕机的后果,就是数据的同时丢失和业务的中断。 双数据中心的容灾高可用方案 那么该如何解决这样的问题呢,在双数据中心的基础上,异地容灾高可用及数据恢复方案是很好的办法。比如,利用i2Availability+i2CDP的组合方案,能够确保A数据中心宕机时,B数据中心能够马上接管起来,而i2CDP能够实现任意时间点的回滚,确保数据的丢失量最少。 不错,这确实是一个不错的技术方向,但是一个事实是由于互联网企业的业务都在网上,实时的交易数据非常巨大,想要做到异地双活,其实技术难度非常大。比如支付宝对外宣称自己的容灾方式是“异地双活”,但是从实际处理来看,支付宝在2015年在上海的光纤被挖断,导致用户受到影响的时间长达2小时,表明支付宝如果是真正做到了“异地双活”,就不应该有这2个小时的服务中断,由此可以推断,支付宝的容灾系统可能并没有真正做到异地双活。 这里其实涉及到RPO与RTO,这是对于业务或者应用系统来说的两个考核指标。从英方实际的案例分析看,双活要讲端到端,涉及很多层的应用,例如负载均衡只是网络转发面的,但讲某一层没有意义。目前实施过的一些案例中,某服务器宕掉后,客户业务可以无感知地继续使用备端的在线服务(RPO与RTO为0),这已经达到容灾的国标第七级,国际标准第六级的最高追求。而实际的很多客户受限于自身条件,只是做到了某几层的双活,而没有做到端到端的双活。 那么,如何解决互联网大型企业实时交互数据量庞大的问题呢,英方提供了基于主机层的数据复制技术,它通过对生产系统的数据进行字节级的捕获,实现对I/O的旁路监听,整个复制过程只传输变化的字节,直接无需考虑数据重复传输的问题,让主备两端获得数据与业务的统一,真正实现数据的备份与“存储无关、应用无关和系统无关”,在两地数据传输之间涉及到的带宽、距离限制等问题,无需考虑,这就大大缩短了A数据中心故障时,B数据中心进行业务接管的时间。
|