读《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》有感

支付宝架构不仅仅是项目,同时它必须要考虑互联网金融业务的特殊性,目前它的架构平台被分为三层:运维平台(IAAS):主要提供基础资源的可伸缩性,比如网络、存储、数据库、虚拟化、IDC等,保证底层系统平台的稳定性;技术平台(PAAS):主要提供可伸缩、高可用的分布式事务处理和服务计算能力,能够做到弹性资源的分配和访问控制,提供一套基础的中间件运行环境,屏蔽底层资源的复杂性;业务平台(SAAS):提供随时随地高可用的支付服务,并且提供一个安全易用的开放支付应用开发平台。

同时因为目前越来越大的考验,支付宝基于市场与技术的多个需求,提出了逻辑数据中心架构,核心思想是把数据水平拆分的思路向上层提到接入层、终端, 从接入层开始把系统分成多个单元,单元有几个特性:封闭,独立,异步化信息。目前新架构的同城主体框架在2013年已经完成,并且顺利的面对了双十一的考验,让整套架构的落地工作得到了很好的证明。在2015年完成了基于逻辑机房,异地部署的“异地多活”的架构落地。“异地多活”架构是指,基于逻辑机房扩展能力,在不同的地域IDC部署逻辑机房,并且每个逻辑机房都是“活”的,真正承接线上业务,在发生故障的时候可以快速进行逻辑机房之间的快速切换。这比传统的“两地三中心”架构有更好的业务连续性保障。在“异地多活”的架构下,一个IDC对应的故障容灾IDC是一个“活”的IDC,平时就承接着正常线上业务,保证其稳定性和业务的正确性是一直被确保的。

支付宝在2015年双十一当天的高峰期间处理支付峰值8.59万笔/秒,已经是国际第一大系统支付。支付宝已经是全球最大的OLTP处理者之一,对事务的敏感使支付宝的数据架构有别于其他的互联网公司,却继承了互联网公司特有的巨大用户量,最主要的是支付宝对交易的成本比传统金融公司更敏感,所以支付宝数据架构发展,就是一部低成本、线性可伸缩、分布式的数据架构演变史。现在支付宝的数据架构已经从集中式的小型机和高端存储升级到了分布式PC服务解决方案,整体数据架构的解决方案尽量做到无厂商依赖,并且标准化。

支付宝分布式数据架构可伸缩策略主要分为三个维度:按照业务类型进行垂直拆分按照客户请求进行水平拆分(也就是常说的数据的sharding策略),对于读远远大于写的数据进行读写分离和数据复制处理。目前从业务和市场的发展形势来看,往往就是需要技术在某个特定时间有个质的能力的提升和飞跃,不会给你太多的准备技术架构提升的时间,在技术积累和人员储备都不足的时候,如何构建平台能力,把更多的精力放在业务相关的开发任务中,是每个技术团队的希望得到的能力 。

注:参考于《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》 贺岩 2016-01-20

posted @ 2019-03-03 11:56  路上的小小滴  阅读(331)  评论(0编辑  收藏  举报