架构设计文章读后感15
欢迎关注个人博客喜欢二福的沧月君的个人博客 所读文章均来自www.infoq.cn
蚂蚁金服支付宝蚂蚁花技术架构实践,贺岩架构师,架构师jiagoux,架构师,双电商盛会消费者狂欢,。
目前架构如下,平台分成,,运维平台iaas提供基础资源可伸缩性网络存储数据库虚拟化idc保证底层系统平台稳定性,。
,技术平台paas提供伸缩可用分布式事务处理服务计算能力能够做到弹性资源分配访问控制提供基础中间件运行环境屏蔽底层资源复杂性,,业务平台saas提供随时随地可用支付服务提供安全易用开放支付应用开发平台,。
架构特性逻辑数据中心架构,双十一大促当天业务量翻番情况支付宝面临考验系统容量服务器网络数据库机房扩展带来问题系统规模系统复杂度架构无法满足要求需要伸缩方案单元维度进行扩展,能够提供支持异地伸缩能力提供灾备方案提供故障恢复体系,需求提出逻辑数据中心架构核心思想数据水平拆分思路提到接入终端接入系统分成单元单元特性,。
,单元封闭包括系统交换存储访问,,单元数据独立共享,。
会员配置延时性要求数据共享,,单元通信统一管控走化消息,消息走单元代理方案,。
支付宝逻辑机房架构概念图,架构解决关键问题,,尽量减少跨单元交互使用化异地部署成为可能,。
系统水平可伸缩性大大提高依赖同城idc,,实现异地灾备策略缩减灾备成本确保灾备设施可用,,。
系统无单点存在提升整体高可用性,同城异地部署单元用作互备容灾设施运维管控平台进行切换机会实现持续可用率,,架构业务级别流量入口出口形成统一管控路由控制点整体系统管控能力得到提升,。
架构线压测流量管控灰度发布难以实现运维管控模式现在能够实现,目前架构同城主体框架完成面对考验架构落地工作得到证明,完成逻辑机房异地部署异地活架构落地,异地活架构指逻辑机房扩展能力地域idc部署逻辑机房逻辑机房活承接线业务发生故障进行逻辑机房切换,。
传统两地中心架构业务连续性保障,异地活架构idc对应故障容灾idc活idc平时承线业务保证稳定性业务正确性确保,支付宝异地活架构示意图,故障应急能力逻辑机房具备蓝绿发布灰度发布验证能力,。
逻辑机房后续简称ldc分成逻辑机房机房功能,情况调用请求概率路由,开启蓝绿模式时路由组件会调整路由计算策略隔离调用组内应用只能访问不会访问组,进行蓝绿发布流程如下,。
step1发布蓝流量调至蓝应用整体无序分组发布,step2蓝引流观察无上调分流比例,step3流量应用整体无序分组发布,step4恢复运行状态蓝单元承担线业务流量,。
分布式数据架构,支付宝当天高峰处理支付峰值国际系统支付,支付宝全球oltp处理事务使支付宝数据架构有别于互联网公司继承互联网公司用户量支付宝交易成本传统金融公司支付宝数据架构发展低成本线性伸缩分布式数据架构演变史,现在支付宝数据架构集中式小型机高端存储升级分布式pc服务解决方案整体数据架构解决方案做到无厂商依赖标准化,。
支付宝分布式数据架构伸缩策略分为维度,,业务类型进行垂直拆分,,。
客户请求进行水平拆分说数据sharding策略,,读写数据进行读写分离数据复制处理,下图支付宝交易数据可伸缩性设计,。
交易系统数据分为数据库集群,,交易数据库集群交易创建状态修改完成产生变更可靠数据复制中心复制到数据库集群消费记录数据库集群商户查询数据库集群,数据库集群数据水平拆分成保证可伸缩性高可靠性节点会对应备用节点failover节点出现故障秒级切换failover节点,。
,消费记录数据库集群提供消费者用户体验需求,,商户查询数据库集群提供商户用户体验需求,。
分拆出来数据节点保证应用系统透明研发数据产品保证交易数据做到弹性扩容,数据可靠性,分布式数据架构保证事务原有acid原子性一致性隔离性持久性特性基础保证可用可伸缩性挑战,试想支付资金资金事务分布式环境相互影响交易资金回滚情况会影响不能接受情况,。
capbase原则结合支付宝系统特点设计服务层面分布式事务框架支持阶段提交协议做优化保证事务acid原则前提确保事务一致性,叫做柔性事物策略,原理如下,分布式事务框架流程图,。
实现,,业务活动业务服务业务服务组成,,。
业务服务负责发起完成业务活动,,业务服务提供tcc型业务操作,,。
业务活动管理器控制业务活动一致性登记业务活动操作活动提交时确认阶段事务confirm操作业务活动取消时调用阶段事务cancel操作,,pc协议,,。
没有prepare阶段降低协议成本,,系统故障容忍度恢复,关键组件可靠消息策略如下,。
关键设计,,步出现故障业务系统自行决定回滚补偿机制,步出现异常消息中心需要回查生产者,。
步出现异常消息中心需要重试,确认消息消息中心组件封装应用系统无需感知,,机制保障消息数据完整性保障可靠消息通讯系统数据一致性,。
,业务前置检查需要消息中心提供指定条件回查机制,蚂蚁花,蚂蚁花今年增加支付工具确认收货下月支付体验受到消费者信赖,。
余额余额宝蚂蚁花避开银行交易链路限度避免支付拥堵,官方数据披露今天双十一大促中蚂蚁花支付成功率达到支付耗时银行渠道确保支付,蚂蚁花距今发展不到发展速度,上线初期笔支付量发展当天峰值笔,。
支撑蚂蚁花业务发展技术体系演进依托蚂蚁金服金融云架构,蚂蚁花团队完成业务系统优化标准系统架设金融云对接渠道业务核心平台数据用户蚂蚁花营销下单支付过程体验统一,蚂蚁花系统金融云单元化建设ldc数据应用走向异地成为现实具备扩展性流量管控能力,可用性方面金融云账务体系深度结合借用账务系统failover能力蚂蚁花低成本改造具备同城灾备异地灾备可用能力,。
单元数据库出问题能够进行容灾切换不会影响单元用户进行蚂蚁花支付,稳定性方面借助于云客户平台高稳定性能力蚂蚁花客户签约形成合约数据迁移进去预先写入云客户平台缓存促高峰期缓存命中率达到,结合链路压测平台蚂蚁花进行能力摸持续稳定性测试发现系统性能反复进行优化促当天系统运行,架构系统秒级处理能力无法衡量引流压测无法得到可信数据,。
立足于金融云系统链路压测得到处理笔支付能力,蚂蚁花业务关键环在于买家授信支付风险控制,买家下单后台交易限额限次套现支风险风险模型进行并行计算模型ms完成数据计算判定能够用户到达收银台确定交易是否存在潜在风险,保证蚂蚁花双授信资金金融云体系搭建机构资产中心对接支付清算平台将表信贷资产打包形成期限资产池资产池基础发行交易证券进行融资资产转让方式获得资金创新确保用户能够花服务顺利完成交易分流银行渠道压力,。
资产证券化运作帮助小微企业实现融资支撑蚂蚁花用户消费信贷需求,蚂蚁小贷资产证券化业务平台达到小时规模级别资产转让,总结,高可用架构大促准备工作蚂蚁金融技术团队做到先胜求战分为方面技术积累谋器,。
谋整体架构设计方案策略,器支持技术工作基础中间件基础组件,实践锻炼成长起来技术人员,纵观现在架构分享大家喜欢谈谋方面架构设计方案优化策略分享实际情况吹牛证实框架能力没实际考验空谈吹牛实际考验破说设计理念遇到实际大业务冲击系统挂少之又少,。
说明架构心灵鸡汤学技术人员不行发现实践那么回事,看出决定作用谋方面理论层面分析设计落地器层面,稳定性基础设施工具身经百战技术人员支撑取胜关键,层面问题不能分享学到日积月累流血流泪雷中招锻炼出来没有近路可抄,。
目前业务市场发展形势往往需要技术时间个质能力提升飞跃不会准备技术架构提升时间技术积累人员储备构建平台能力精力放在业务相关开发任务技术团队希望得到能力,过去开源商业组件实现技术共享得到解决谋发展技术能力业务复杂性专业性规模变方式缺点显而易见组件根本无法满足并发场景技术指标,业务专业性提高没有使用开源组件,人经验能力无法传递,。
现在云分享技术业务能力方式发展越来越快刚才介绍蚂蚁花技术时间达到上线初期笔支付量发展当天峰值笔走完走可能达不到能力,类似例子大家熟知余额宝系统,建立蚂蚁金服用打磨基础组件技术人员经验云服务目前能力目前客户组建可用安全合规金融云服务架构系统。