中国已成为全球移动支付第一大市场,在移动支付用户规模、交易规模和渗透率等方面大幅领先。在线买买买已成常态,特别是在 2020 年后受疫情的影响,线上经济更是发挥了重要作用,外卖叫餐、寻医问药、网购商品等都属于线上经济的范畴,在线支付是线上经济不可缺少的组成部分。
移动支付如同人们生活中的水和电一样,微信支付作为国民级支付工具,支付系统的可用性非常重要。财付通基础支付团队对系统架构不断升级演进,总结了一套保障系统高可用的方法,以解决不同阶段系统面临的可用性问题。
演讲提纲:
1. 面向 PC 支付架构
- 架构:单体应用、垂直划分子系统
- 保障措施:负载均衡
2. 移动支付架构
- 1.0 - 主备集群
- 背景:移动支付带来流量快速增长,特别是各种节假日和大促活动流量成倍数倍增长,面向 PC 时代的架构难以应对
- 架构:系统分层、OMP
- 保障措施:熔断降级、单机限流(扩缩容导致限流不准,流量不均匀导致机器误限)
- 2.0 - 同城多活
- 背景: 微信支付红包引来历史性突破,羊年春晚合作带来巨大流量增长;随着滴滴打车等生活场景接入,人们对可用性的要求也越来越高
- 架构:SET 化架构
- 保障措施:SET 故障自动切换、全局限流、基于 SET 的限流、基于资源故障的公告体系
- 3.0 - 跨城多活
- 背景: 商业支付场景不断丰富,线下场景交易占比逐步提升,移动支付已成为国民生活中的水电一样,成为关键基础设施,支付系统需要具备城市级故障处理能力
- 挑战:跨城延迟 80ms
- 架构:两地四中心,再到 12 中心
- 保障措施:条带化、分层的 SET 多活架构、各层故障自动切换
3. 思考 & 演进
- 得失思考:变化是架构,不变是思想——腾讯海量服务之道
- 演进方向:云化架构下的可用性保障
你将获得:
- 了解微信支付后台系统架构的变迁
- 了解微信支付后台各阶段系统的设计思路和踩过的坑
- 了解金融级系统保障高可用需要具备的能力
- 了解保障系统持续高可用的容灾技术