支付宝和蚂蚁花呗的技术架构及实践

  

每年“双11”都是一场电商盛会,消费者狂欢日。今年双11的意义尤为重大,它已经发展成为全世界电商和消费者都参与进来的盛宴。而对技术人员来说,双十一无疑已经成为一场大考,考量的角度是整体架构,基础中间件,运维工具,人员等。

  

一次成功的大促准备不光是针对活动本身对系统和架构做的优化措施,比如:流量控制,缓存策略,依赖管控,性能优化……更是与长时间的技术积累和打磨分不开。下面我将简单介绍支付宝的整体架构,让大家有个初步认识,然后会以本次在大促中大放异彩的“蚂蚁花呗”为例,大致介绍一个新业务是如何从头开始准备大促的。
架构
支付宝的架构设计上应该考虑到互联网金融业务的特殊性,比如要求更高的业务连续性,更好的高扩展性,更快速的支持新业务发展等特点。目前其架构如下:
支付宝和蚂蚁花呗的技术架构及实践“> <br/>整个平台被分成了三个层:</p>
  <ol>
  <李>运维平台(IAAS):主要提供基础资源的可伸缩性,比如网络,存储,数据库,虚拟化、IDC等,保证底层系统平台的稳定性;李</>
  <李>技术平台(PAAS):主要提供可伸缩,高可用的分布式事务处理和服务计算能力,能够做到弹性资源的分配和访问控制,提供一套基础的中间件运行环境,屏蔽底层资源的复杂性;李</>
  <李>业务平台(SAAS):提供随时随地高可用的支付服务,并且提供一个安全易用的开放支付应用开发平台。<br/>架构特性<br/>逻辑数据中心架构<br/>在双十一大促当天业务量年年翻番的情况下,支付宝面临的考验也越来越大:系统的容量越来越大,服务器,网络,数据库,机房都随之扩展,这带来了一些比较大的问题,比如系统规模越来越大,系统的复杂度越来越高,以前按照点的伸缩性架构无法满足要求,需要我们有一套整体性的可伸缩方案,可以按照一个单元的维度进行扩展。能够提供支持异地伸缩的能力,提供N + 1的灾备方案,提供整体性的故障恢复体系。基于以上几个需求,我们提出了逻辑数据中心架构,核心思想是把数据水平拆分的思路向上层提到接入层,终端,从接入层开始把系统分成多个单元,单元有几个特性:李</>
  <李>每个单元对外是封闭的,包括系统间交换各类存储的访问,李</>
  <李>每个单元的实时数据是独立的,不共享。而会员或配置类对延时性要求不高的数据可共享;李</>
  <李>单元之间的通信统一管控,尽量走异步化消息。同步消息走单元代理方案;<br/>下面是支付宝逻辑机房架构的概念图:<br/> <img src=支付宝和蚂蚁花呗的技术架构及实践