阿里超大数据中心“异地双活”实践

灾备系统和应急管理体系建设是数据中心永不变更的热点话题。从“两地三中心”、“同城双活”到“异地双活”,业内的讨论层出不穷。即使在容灾备份领域较早入手的金融行业,在灾备切换时也是谨慎再谨慎的,在历年“真实切换”演练时“手软”的例子更是不胜枚举。究其根源,除了应急预案不完善、灾难恢复演练不到位之外,单纯硬件和软件很难完全解决业务连续性问题才是关键。事实上,将业务系统切换到灾备中心容易,但故障消除后,将业务系统再调回生产中心,需要保证数据库的完整,其中数据同步效率更加需要底层的支持,其过程异常复杂。

但只有数据中心异地双活才能真正应对地震、雪灾、网络瘫痪等灾难事件,实现跨地域的容灾能力,保障不受单地域的灾难的影响。阿里11.11直播现场(见《【观察】阿里11.11第六年,用我们的视角直播技术与数据》), 连续六年“双十一”技术总负责人阿里巴巴副总裁刘振飞特别提到:本次双十一交易能力达到每秒8万笔的上限;支付能力在峰值能力突破每秒 3.8万笔,准备阶段提供了500套技术预案,共计8次技术演练,支付、手机客户端体验、ODPS、OceanBase和数据中心异地双活都是其中很关键的技术考验点。“阿里历史上第一次打通了交易平台和支付平台,8次演练中遇到很多问题都得到了解决。所以今年高峰到来,我们淡定迎接了挑战。”

阿里技术保障部资深总监 周明

在支付、移动适配、ODPS、OceanBase等技术方面,CSDN云计算曾有多次不同报道。而数据中心异地双活却是极少出现,以双十一的规模来计算,其背后所代表的将是超越以往常规应用的技术实现。为此,直播间隙,特别采访了阿里技术保障部资深总监周明。他对我说:数据中心异地双活2013年就已启动,直到近期才正式完成,刚好赶上双十一。能够做到数据库同步,保证数据的一致性,解决距离带来访问延迟的超大体量电商网站数据中心异地双活,目前全球只有阿里巴巴已完成部署。

从2013年近2000套到2014年500套技术预案,大幅减少的原因是什么?

周明:这几年中,阿里对整体系统运行情况越来越清晰,所以有些技术预案就不再需要了;另一方面,我们将一些系统进行了合并,比如淘宝、天猫、无线等。这些系统最初因为业务发展需要而相对独立,但随着规模越加巨大,系统中的一些公共功能是相同的,将这些功能提炼出来后,形成公共平台。这样,更加弹性和可控,而且整体系统数量就减少了,与之对应的是,系统预案也减少了。比如云梯1(Hadoop系统)和云梯2(飞天5K+ODPS)的系统更替,以及登月计划将更多业务部门数据迁移到ODPS上就是这样的变化。这两点也使得备战双十一时的技术预案大幅减少。

500套技术预案怎么划分的?

周明:我们的预案可以从访问量、业务、用户、系统等多个视角来划分。在双十一中,技术保障团队要提供基础架构服务,如数据中心包含服务器、网络、存储在内的整体基础设施;提供基础服务,如负载均衡,协议等,以及研发一些基础系统;运营在平台上的业务系统的保障,保证系统能够在双十一能够应对高峰挑战。简单说,就是从IDC机房到中间运行应用的基础平台再到应用系统的保障,因此我们也在各个环节准备了相应的预案。

其实去年双11,全集团准备了2000多套技术预案,今年一方面大促的技术打法越来越成熟,另一方面通过多次演练对系统容量和极限做到心中有数,因此预案数量降到了不到500套,不但大大减少了产品、开发和测试的工作量,而且也降低了双11当天技术决策的复杂性。

交易能力达到每秒8万笔的上限;支付能力在峰值能力突破每秒3.8万笔。是否在预估内?

周明:都在预估内,各个技术部门都做了充分的准备,从10月份开始也进行了多次联合演练。

技术保障提到一共做了8次演练,蚂蚁金服鲁肃提到了10次。哪些是你们重复演练的?

周明:各个部门会先分头演练,然后再联合演练,今年全集团打通集体演练共有8次。另外,今年是第一次把交易和支付系统打通演练,彻底扫清了两套系统的接口之间可能存在的技术灰色地带,特别是模拟了数据高峰的情形,让我们充满信心地应对双11大考。

首次打通了交易平台和支付平台。其中在技术方面遭遇了哪些挫折和挑战?如何应对的?

周明:确实比预想的要多。首先是业务需要,运营活动在最初的时候很难有明确预计,很难思考的很成熟,所以很多需求都是逐渐变化的,我们也要随之改变,灵活性上很有挑战;其次是技术上看,当规模达到一定程度后,无论是对应用系统、数据库、网络还是银行支付等渠道,都有更大挑战,比如10月份启动技术演练的时候,并不是一开始就成功的,我们也遇到了非常多的大大小小的问题,比如出现Bug,能力够不到,模拟数据有问题等,直到第六次、第七次演练时,才跑通。

为了应对这些挑战,我们要更好地实现系统弹性扩容,包括“数据中心异地双活”和“服务器资源弹性部署”。前者真正使电商网站具备跨地域的容灾能力,保障不受单地域的灾难的影响。即使杭州遭遇了极端的自然灾害,数据中心“全军覆没”,双11仍然能够顺利运转;后者服务器资源弹性部署,可以应对不可预知的业务爆发。一旦有超出预期的业务热点出现,系统可自动调用其他资源使用不足的服务器,实现分钟级无缝切换,在不增加硬件部署的情况下应对更复杂的流量变化。除此以外,今年的双十一还首次启动阿里自主研发的OceanBase云数据库承担部分流量,也带来了一些新课题,但解决上都比较顺利。最终很好的应对了双十一的数据高峰的挑战。

为什么一定要考虑异地双活?

周明:阿里规模已经这么大,异要双活是我们技术必须要考虑的安全措施。无论将因为何种原因造成服务停止都将影响很多商家,影响生态链条上的各个企业。交易平台常用的主备模式(Active-Standby)看似备份但真正到恢复阶段是有不确定性,只能保证数据不丢失,但无法做到在主机房重大故障时对业务没有影响。而两地三中心这种模式,在确保数据一致性方面也有着很大挑战,所以我们2013上半年就做出重要决定,要做真正的异地双活。经过一年多的努力,投入很多技术才人和资源,顺利在双11之前落地。

除了容灾,异地双活还有个重要的意义就是大幅提高水平伸缩能力。业务单元化部署是实现异地双活的基础,飞速增长的业务可能在现有架构下遇到瓶颈,需要扩容时,不论是部署成本还是效率,通过单元化部署打通多个数据中心资源都是最好的办法。

当时感觉最大的挑战是什么?

周明:经历了五年双十一的考验,在技术保障方面我们心中比较踏实了。但异地双活却是第一次经历这么大规模的双十一,因此最担心异地双活的模式能否承受高峰压力。尤其是异地双活实现技术难度非常大,全球都没有可参考的成功经验,而且电商业务的数据是多纬度的,例如有商品、买家和卖家纬度,对数据一致性的要求比其他例如社交、搜索、视频等领域都高很多。举个例子,双活数据中心数据库方面要求同时存储,搜索结果差个几百条结果互联网用户很难有感知,但交易数据哪怕是一个小数点后几位都要保证一致,但现实情况是,因为距离和访问延迟等因素,都容易带来数据的不一致。而在双十一这样的高压下,出现各式各样的情况都是很可能的。

为了准备迎接双11,我们在今年的8月份正式完成了阿里电商网站的异地双活,又在历次演练中经过实战检测,所以在双11这一天心里还是很有把握的。每秒8万笔,这是非常惊人的,相信在全球都没有第二家能够在超大规模电商交易方面做到异地双活。

OceanBase之外,ODPS和Galaxy的应用场景是什么?

周明:ODPS是阿里自研的做离线数据挖掘分析平台,支撑了集团80%左右的离线双11业务,包括个性化推荐、广告、搜索、BI业务报表数据分析等。而Galaxy是阿里大数据团队自研的流数据计算平台,每秒可运算数据超过500万条,演示大厅中的数据大屏实时播报,都是在Galaxy中处理后呈现。

在超大数据中心异地双活之外,我们还简单谈到了为应对海外用户参与双十一,阿里所构建的30多家CDN的节点,实现了除南极洲以外其他地区全面覆盖的目标,以及基础安全、技术安全、业务安全方面的保障策略。对于我的问题,周明回答的极为坦率。他对我说:“阿里对技术是很开放的,很多技术方案都直白地分享去出了。今年更是如此,很多数字都是实时公布的。如果你有感兴趣的项目,我们再找实际操刀的团队来分享。”

博主设置当前文章不允许评论。

没有更多推荐了,返回首页