- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
余额宝是如何一步步建立云计算架构的?
走投无路,背水一战。
樊振华清楚他已经没有退路,只有往前走才是出路。他召集阿里云,天弘基金,金证科技,支付宝四方的技术人员在闭关室全部进行封闭式开发,一场艰苦的战役就此打响。
"管不了那么多,这些只能一个一个解决,不然怎么办?"樊振华每次面对棘手的困难的时候总会说这么一句。但困难都是终究会被解决:
1、系统水平拆分
a)系统拆分的基本原理很简单,就是按照一个业务字段,比如支付宝协议号作为拆分依据。对字段取哈希值以后根据拆分虚节点的个数进行求模。这样就可以简单的将所有的请求拆分成多份。
b)在二期系统的拆分过程中,经过测算,需要使用50组业务节点,但在拆分的时候,考虑到扩展性。并未简单的拆分成50份。而是拆分成1000份,然后每个节点处理20份的数据。这样做的好处就是将来如果系统遇到瓶颈,需要扩容的时候,不需要对拆分算法进行修改,而且数据平均迁移的时候只需要以库为级别进行,从而避免了拆表。
2、去oracle
a)去oracle其实并无捷径,都需要扎扎实实的一点点完成。首先是将存储过程等mysql不支持或支持不好的数据库逻辑上移到应用中。
b)其次要将复杂度比较高的sql语句进行拆分,变成多条简单的sql语句。从而提高mysql的执行效率。
c)阿里云的RDS提供的慢sql查询功能,可以将整个系统执行效率比较慢的sql呈现给用户,帮助用户优化SQL语句。
3、数据迁移。
a)数据迁移是这个项目的重头戏,迁移过程中使用全量+增量+数据订正+并行运行检查等几个阶段完成。
b)二期系统在生产环境部署完成后,将在天津的一期系统的全量数据打包,按照指定拆分算法拆成1000份以后,通过专线导入到二期系统中。导入以后,将天津的一期系统前置机转发服务打开,将所有实时请求转发到二期系统,这样两个系统同时处理请求。然后在交易日之后,以一期系统为准,将二期系统中的数据进行订正,补全。这些所有的操作必须在24小时内完成是迁移成功的必要条件。
c)数据迁移成功之后,两个系统实际上在并行运行。需要使用脚本每天对比两个系统中的数据,连续2周数据对比无误以后,由支付宝将请求地址从一期系统切换到二期系统,整个迁移才算完成。
4、直销和TA的再次分离
a)借助云计算快速灵活的机制,将直销系统和TA系统的应用逻辑层进行完全分开,分开后的直销和TA系统分别运行在一组ECS中,两套系统后端连接同一套的RDS数据库服务。这样既能保证TA和直销系统在应用性能上不会发生争抢,而且又不会发生数据传递问题。
5、扩容性保证
a)除了在水平拆分算法的时候就采用双重映射的机制来保证架构本身的扩容性,还充分利用了阿里云云服务可以无缝升级的特性,来进行容量保证。
b)拿RDS数据库来讲,阿里云提供了新1型到新7型等7个型号,性能逐渐增强。最终选择了新5型做为数据库服务器,并没有一步到位采用最高型号。这样当系统出现瓶颈的时候,就可以通过将所有RDS从新5性升级到更高型号来将系统容量翻倍。

架构解读
将清算和直销的集群分为两组独立的集群,但使用相同的RDS数据库服务.这样既避免了在应用层面的资源争抢,又可以做到数据的共享.其中实时请求会先到达4个互为冗余备份的SLB(负载均衡),避免SLB单点故障.SLB将请求转发给5台前置机,前置机会按照拆分算法,将该请求路由到相应的节点进行处理,该节点处理完毕后,数据保存到改组对应的RDS数据库.而每日的对账文件则通过文件服务器进行拆分,然后清算系统的每个节点主动取出自己处理的文件进行清算处理,然后保存到数据库。
历尽磨难,涅槃重生
经过2个多月的封闭式开发,在上线之前,二期系统进行了严格的压力测试,测试结果让樊振华悬着的心终于放下了。
TA系统完成3亿笔订单的清算,可以在6400秒内清算完成返回给支付宝,完全符合项目150分钟。对开户的实时请求,项目目标要求达到1000笔每秒。压测的数据轻松达到5000笔每秒。并且具备11000笔每秒的储备能力随时可放开。二期系统终于在2013年9月26日上午正式上线成功。在上线的前一天,一期系统每天完成清算需要8个小时,而上线后的那天,二期系统完成了她第一次的清算,只用了不到30分钟。这个结果让那些经历多个不眠之夜的后台运营人员眉开眼笑,终于可以在晚上回家睡觉了。实时请求的响应时间老系统为180ms,上云以后,平均130ms。效果明显。如下图:

万事具备,只欠东风,只有经过"双十一"海量交易量的摧残,才能验证系统是符合设计要求的。2013年11月11日 余额宝首次参加"双十一"大促,完成1679万笔赎回,1288万笔申购的清算工作,成功为639万用户正确分配收益。当天处理了61.25亿元的消费赎回,119.97亿元的转入申购。完成这些所有的清算工作,系统只用了46分钟!
云计算是万能的吗?
总结在上云以后至今的业务发展状况,数据暴增以后,面临的新问题,抛出面临的数据问题,引发思考
这一路走来,就像直销和TA系统经历了分开,合并,再分开的演进路线,让樊振华想起一句话"天下之势,分久必合,合久必分"。过去这么多年,以IOE为主的集中式计算已经告一段落,在这个互联网的时代,云计算和分布式的结合代替集中式计算已经深深植入他的脑海之中。
此时的樊振华,已经和一年前的他截然不同,一年前,他还在为各种硬件选型,采购流程而忙碌。但一年后,他更喜欢在人们面前谈起的是云计算,大数据,分布式,用户体验,互联网的IT架构等名词。
具备强大水平扩容能力的二期系统,足以让这个饱经历练的老兵高枕无忧,休息一阵子,再也不用担心系统容量和高并发的问题。但有一颗种子,在樊振华的心目中开始发芽:他清晰的知道,如今这个二期系统已经不是简单的直销和清算系统,每天沉淀在50个数据库里的海量用户和交易的数据量在暴涨,如何存储这些数据?如何使用这些数据?该如何才能产生最大的价值?
未来如何发展
有了这颗种子,樊振华休了个短假,他又开始了新的征程,投入了大数据的怀抱,这一次,他选择了阿里云提供的ODPS(开放数据处理服务)来作为自己的大数据平台。ODPS目前是阿里集团进行离线数据处理的平台,其支撑了阿里金融,淘宝等多家Bu的大数据业务。有了这个平台作为后盾,樊振华清晰了很多,他脑海中复现了一幅画面:在不久的将来,通过对目前沉淀的海量数据的分析,可以把握成千上亿的用户的理财需求及不同的风险接受能力。而天弘基金,根据这些客户的情况,提供更多更丰富的理财产品。或许到那一天,让天下所有的人享受到符合自己的理财服务真不是梦想了。
上一篇:通信网络六环节能耗模型与能效基线
下一篇:华平视频会议系统在上海威思特的应用


