写点什么

支付宝CTO李静明:双11是对我们的一次大考

2012 年 11 月 19 日

双 11 是一个疯狂的日子,不仅仅是消费者和电商行业的盛宴,也是技术领域的一次挑战。第一分钟 13.6 万笔交易,单日交易额达到 191 亿,为了支撑如此庞大的交易,支付宝背后的团队功不可没,在 11 月 11 号下午双 11 还未完全落幕之前,InfoQ 就来到在支付宝大楼采访了支付宝的 CTO 李静明,听他谈支付宝为这次双 11 所做的准备以及现场指挥等情况。

李静明首先从购物前、购物中、购物后三个角度分析了支付宝所起到的作用,用户在天猫或者淘宝所见到的红包都是由支付宝团队负责,并且所有的交易创建、支付、确认完成等交易动作都是由支付宝来支撑,支付宝是整个购物环节完成的最后一环。

从 2005 年开始,支付宝经历了烟囱型、面向服务型和云平台型三个时期。李静明说目前支付宝是第三代系统架构,能够保证 1 亿 + 的交易量、80 亿 + 的数据库事务、1000 亿 + 服务调用和 500+ 个应用协同完成。第三代系统主要在可伸缩性、故障容忍、弹性控制三个方面做出了大的改进。系统方面的改进是支付宝一直都在做的事情,他说:

双 11 是对支付宝的一次大考,准备工作很重要,我们把工作都已经做到了平时。

支付宝是这次双 11 活动的重要环节,其系统面临巨大的压力,在 8 月初旬支付宝就成立了“11.11”项目组,主要负责支付服务的容量指标和扩容计划,整个准备工作是一项复杂的系统工程,牵涉到不同的系统和业务平台,支付宝采用的策略是由各个平台根据自己的系统范围和经验来定义场景以及应对措施,根据搜集上来的反馈建立一整套完善的预案。针对这次双 11 活动,他们制定了两百多个预案,每一个预案都详细列出了问题场景、必要的操作、影响范围以及负责人等,通过这段时间的演练保证在预案被触发的第一时间做出反应。李静明说这次双 11 所有发生的状况都是在预案之内,容灾、降级系统都没有被触发。在故障容忍方面,支付宝通过如下的措施使得系统达到了 4 个 9(99.99%)的稳定性:

  1. 消除数据库单点
  2. 完善的数据库 failover 机制
  3. 控制服务依赖处理服务故障的影响
  4. 通过完全独立的 IDC 解决 IDC 故障

在双 11 之前,支付宝团队根据往年的数据预估了今年的系统容量,2011 年支付宝完成了 3369 万笔交易,他们对今年的预估是去年的 3 倍,事后证明这个预估是正确的(支付宝今年完成了 1 亿零 580 万笔交易)。针对系统将会面临的压力,他们倒推了整个系统流程,在可能出现的环节部署了一些技术措施(如限流等),保证系统稳定。针对于系统中可能出现的资源和计算能力分配不足等问题,支付宝能够通过弹性控制进行秒级的系统监控和资源调度,在网络、数据库和 IDC 等多个层面上满足伸缩性的要求。但是,他还说道,虽然整体趋势的预估不会有太大的出入,但对于刚开始那一瞬间的系统压力是很难估计的,这也造成了今年凌晨过后很多用户出现了排队的现象。李静明说今年整体的运行状况都是在计划内,但还是有一个小遗憾:用户的引导做的不够好,导致一部分用户看到了不一致的文案造成了误解。

双 11 时期支付宝的所有系统监控和调度都是通过“作战指挥室”来统一指挥,通过远程视频的方式和天猫、淘宝等团队进行实时通讯。李静明说他们发现双 11 中支付的瓶颈主要还集中在银行接口方面,为了保证用户的购物能够顺利完成,支付宝采取了一些措施:首先,积极和银行方面沟通,提前做出扩容;其次,引导用户提前在支付宝充值,减少对银行端口的压力;最后,在活动当中通过限流的方式保护银行接口。他提到了一个趣闻,在这次的活动中,有一个银行抱怨他们的量没有上来,要求支付宝不用限流,他们能够抗住所有的交易量。当支付宝停止保护以后,银行的接口立即就陷入瘫痪的状态。

这次的双 11 刷新了国内甚至国际的交易记录,在技术层面上我们也看到了支付宝的表现,当问及是否采用了一些独有的技术时,李静明表示支付宝大部分都是采用的标准技术协议和组件,在使用过程中对其进行了优化。

冰冻三尺非一日之寒,支付宝平时积累的技术力量为这次双 11 大考画上了圆满的句号。

相关阅读

2012 年 11 月 19 日 00:005952
用户头像

发布了 89 篇内容, 共 25.9 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

学习笔记:架构师训练营-第四周

四夕晖

高并发 系统架构演化

当我在听播客时,我在听什么?

Nydia

架构师训练营第四周作业

四夕晖

区块链数字货币交易所开发app,交易平台搭建方案

WX13823153201

区块链数字货币交易所开发

kubernetes是微服务发展的必然产物

架构师修行之路

Kubernetes 分布式 微服务

mybatis plus 自动更新数据库时间的小坑

双儿么么哒

Java mybatis

甲方日常 29

句子

工作 随笔杂谈 日常

为什么学Go(一)

soolaugust

go

IDEA常用设置、快捷键及代码模板

jiangling500

IDEA

生态共赢-anyRTC创业扶持计划

anyRTC开发者

ios 音视频 WebRTC RTC 安卓

打破区块链游戏经济的隔阂,或许该从跨游戏资产入手

CECBC区块链专委会

区块链 游戏

Week 2命题作业

balsamspear

极客大学架构师训练营

Week 2 学习总结

balsamspear

极客大学架构师训练营

【高并发】秒杀系统架构解密,不是所有的秒杀都是秒杀(升级版)!!

冰河

并发编程 高并发 架构设计 秒杀 异步

LAXCUS大数据集群操作系统:一个分布式分时共享E级系统软件(一)

陈泽云

人工智能 云计算 大数据 基础设施 国产操作系统

后疫情时期,看区块链如何赋能文创产业加快经济复苏?

CECBC区块链专委会

区块链技术 文创产业

读——沟通的艺术,看入人里,看出人外(第三章)

双儿么么哒

Netty源码解析 -- 服务端启动过程

binecy

Netty nio

深拷贝链表,python处理音频信号和数字信号、vim教程、swift单元测试和UI测试 John 易筋 ARTS 打卡 Week 21

John(易筋)

单元测试 ARTS 打卡计划 python 数字信号 vim教程 深拷贝链表

实现一个简单的 MobX

局外人

前端 js React

英特尔聚焦全栈量子研究:发布多项重磅量子计算研究成果

intel001

数字经济2.0—趋势、逻辑、选择

CECBC区块链专委会

区块链 数字经济

架构师训练营第 1 期 - 第四周课后练习

Anyou Liu

极客大学架构师训练营

java安全编码指南之:锁的双重检测

程序那些事

java安全编码 java安全编码指南 java代码规范 java代码安全

spring-boot-route(十五)整合RocketMQ

Java旅途

Java RocketMQ Spring Boot

技术解析 | 云游戏在未来如何实现?

腾讯云视频云

开发 游戏 视频

图解超难理解的 Paxos 算法(含伪代码)

多颗糖

分布式 算法 分布式系统 架构师 一致性算法

浅析:线程安全

朱华

Java 多线程与高并发

只要十步,你就可以应用表达式树来优化动态调用

newbe36524

C# netcore ASP.NET Core

TensorFlow 篇 | TensorFlow Serving API

Alex

tensorflow keras model serving tensorflow serving api

搞开发,写SQL就够了

棒锤🐮

sql mybatis springboot Web框架 Rocket API

支付宝CTO李静明:双11是对我们的一次大考-InfoQ