支付宝三年光棍节高可用系统支付宝三年光棍节高可用系统支付宝三年光棍节高可用系统支付宝三年光棍节高可用系统架构的演变架构的演变架构的演变架构的演变阿玺支付宝-技术部Mail:xi.hux@alipay.comweibo:支付宝_阿玺个人介绍•胡喜,花名阿玺,2007年加入支付宝,主持支付平台基础技术的架构设计与研发工作,并且参与支付宝核心支付平台的架构设计和系统升级。支付宝系统发展历程2005年挑战挑战挑战挑战2011年+2006年2007年2008年2009年2010年架构架构架构架构服务范围:担保交易@淘宝交易笔数:1111万/天代码量:十万级技术团队:约10人一代架构:烟囱型服务范围:交易@互联网交易笔数:50万/天代码量:百万级技术团队:约100人二代架构:面向服务型服务范围:多资金渠道、多支付工具、多应用场景交易笔数:约1000万/天11111.111.111.111.11日:日:日:日:1280W1280W1280W1280W代码量:千万级技术人员:1000人+服务范围:支付宝@everywhere业务量:亿级+11.11:3369W11.11:3369W11.11:3369W11.11:3369W代码量:千万级+技术人员:异地/开放三代架构:云平台型2012.11.11系统必须具备交易处理能力:1111亿亿亿亿++++80亿+数据库事务500亿+的SqL执行1000亿+服务调用500+个应用协同完成Agenda•可伸缩性:提升容量百万级到亿级•故障容忍:99.9%到99.99%+•弹性控制:人工控制到秒级自动调度IDC一个简化的支付宝系统模型数据库数据库数据库数据库交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V1LBLBLBLB可伸缩可伸缩可伸缩可伸缩提升容量百万级到亿级IDC数据库的瓶颈数据库数据库数据库数据库交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V1LBLBLBLB数据可伸缩性:数据垂直拆分IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V2LBLBLBLB交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库一致性瓶颈IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V2LBLBLBLB交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库业务一致性:service层的分布事务实现实现实现实现•一个完整的业务活动由一个主业务服务与若干从业务服务组成•主业务服务负责发起并完成整个业务活动•从业务服务提供TCC型业务操作•业务活动管理器控制业务活动的一致性,它登记业务活动中的操作,并在业务活动提交时确认所有的TCC型操作的confirm操作,在业务活动取消时调用所有TCC型操作的cancel操作与与与与2PC2PC2PC2PC协议比较协议比较协议比较协议比较•没有单独的Prepare阶段,降低协议成本•系统故障容忍度高,恢复简单主业务服务从业务服务A从业务服务B数据库数据库tryX1.tryX成功业务活动管理器活动日志启动业务活动登记业务操作提交/回滚业务活动confirmXcancelXtryYconfirmYcancelY2.tryY成功3.confirmX成功4.confirmY成功数据库单个库的瓶颈IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V2LBLBLBLB交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库数据可伸缩性:数据水平拆分与复制IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V3LBLBLBLB交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库数据可伸缩性:交易数据拆分数据复制中心数据复制中心数据复制中心数据复制中心12n1核心交易数据核心交易数据核心交易数据核心交易数据((((分表分表分表分表并并并并分库分库分库分库))))主交易系统主交易系统主交易系统主交易系统交易处理服务(写场景)交易记录查询系统交易记录查询系统交易记录查询系统交易记录查询系统用户交易记录查询服务(读场景1)12n2商户查询系统商户查询系统商户查询系统商户查询系统交易记录数据交易记录数据交易记录数据交易记录数据((((分表并分库分表并分库分表并分库分表并分库))))商户查询与对账(读场景2)12n3商户商户商户商户////平台商交易数据平台商交易数据平台商交易数据平台商交易数据((((分表并分库分表并分库分表并分库分表并分库))))分布数据访问层分布数据访问层分布数据访问层分布数据访问层主主主主网络伸缩瓶颈IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V3LBLBLBLB交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库网络可伸缩性:消除网络设备瓶颈IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V4交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库confregconfregconfregconfreg账户数据库账户数据库账户数据库账户数据库服务器伸缩瓶颈IDC交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V4交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库confregconfregconfregconfreg账户数据库账户数据库账户数据库账户数据库服务器伸缩:服务器扩展到多个IDCIDC1交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V5交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库confregconfregconfregconfregIDC2交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统交易系统交易系统交易系统交易系统交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统账户系统账户系统账户系统账户系统账户数据库账户数据库账户数据库账户数据库跨机房通讯的瓶颈IDC1交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V5交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库confregconfregconfregconfregIDC2交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统交易系统交易系统交易系统交易系统交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统账户系统账户系统账户系统账户系统账户数据库账户数据库账户数据库账户数据库IDC伸缩:部分独立IDCIDC1交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统V6交易数据库交易数据库交易数据库交易数据库账户数据库账户数据库账户数据库账户数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库交易数据库confregconfregconfregconfregIDC2交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统交易系统交易系统交易系统交易系统交易系统交易系统交易系统交易系统账户系统账户系统账户系统账户系统账户系统账户系统账户系统账户系统confregconfregconfregconfreg账户数据库账户数据库账户数据库账户数据库小结:提升容量百万级到亿级•数据的可伸缩性–垂直,水平拆分,复制,分布式事务•网络可伸缩性•IDC可伸缩性应用中间件技术架构展现服务容器协调应用应用中间件平台SOFA3SOFA3SOFA3SOFA3((((SCASCASCASCA::::bundlebundlebundlebundle,,,,service/referenceservice/referenceservice/referenceservice/reference,,,,pub/subpub/subpub/subpub/sub,,,,extensionextensionextensionextension,,,,slaslaslasla))))CloudEngineCloudEngineCloudEngineCloudEngine((((servlet3.0servlet3.0servlet3.0servlet3.0,,,,drmdrmdrmdrm,,,,managementmanagementmanagementmanagement,,,,osgiosgiosgiosgi))))Apache/nginxApache/nginxApache/nginxApache/nginx((((spdyspdyspdyspdy,,,,httpshttpshttpshttps))))JVMJVMJVMJVM((((JVMTIJVMTIJVMTIJVMTI,,,,JNIJNIJNIJNI))))SOFA-MVCSOFA-MVCSOFA-MVCSOFA-MVC((((fullstackfullstackfullstackfullstack))))SOFA-MashupSOFA-MashupSOFA-MashupSOFA-Mashup((((componentcomponentcomponentcomponent))))分布式分布式分布式分布式ssssessionessionessionession安全框架安全框架安全框架安全框架ssssecurityecurityecurityecurityA/BTestA/BTestA/BTestA/BTest组件组件组件组件组件集合(组件集合(组件集合(组件集合(rulerulerulerule,,,,jbpmjbpmjbpmjbpm,,,,xtsxtsxtsxts,,,,cachecachecachecache,,,,scheduleschedulescheduleschedule))))webwebwebwebTomcatTomcatTomcatTomcatDatasourceDatasourceDatasourceDatasourcezdszdszdszdsdrmdrmdrmdrmwebservicewebservicewebservicewebservicejettyjettyjettyjetty协调中心协调中心协调中心协调中心((((zdipperzdipperzdipperzdipper,,,,zookeeperzookeeperzookeeperzookeeper))))调度中心调度中心调度中心调度中心((((schedulerschedulerschedulerscheduler))))配置中心配置中心配置中心配置中心((((confreg2.0confreg2.0confreg2.0confreg2.0))))分布式锁分布式锁分布式锁分布式锁((((dlslockdlslockdlslockdlslock))))超时调度中心超时调度中心超时调度中心超时调度中心((((timeouttimeouttimeouttimeout))))故障容忍故障容忍故障容忍故障容忍99.9%99.9%99.9%99.9%到到到到99.99%+99.99%+99.99%+99.99%+数