支付系统整体架构详解( 三 )


支付系统架构整体设计
每个公司根据其业务和公司发展的不同阶段,所设计的支付系统也会有所不同 。我们先看看互联网公司的一些典型的支付系统架构 。
支付宝
我们先看看业内最强的支付宝系统 。架构图如下:

支付系统整体架构详解

文章插图
 
这个整体架构上并没有与众不同之处 。在模块划分上,这个图显示的是最顶层的划分,也无法告知更多细节 。但支付宝架构文档有两个搞支付平台设计的人必须仔细揣摩的要点 。一个是账务处理 。在记账方面,涉及到内外两个子系统,外部子系统是单边账,满足线上性能需求;内部子系统走复式记账,满足财务需求 。在清结算这个章节中也是基于这个模型来详细介绍如何记账、对账和平账 。
支付系统整体架构详解

文章插图
 
另一个亮点是柔性事务处理,利用消息机制来实现跨系统的事务处理,避免数据库锁导致的性能问题 。
京东金融
来自京东支付平台总体架构设计。如下图:
支付系统整体架构详解

文章插图
 
京东金融是在网银在线的基础上发展起来的 。网银在线的原班技术人员有不少来自易宝公司,在京东收购之后,又引入了支付宝的人才 。
因而从架构上受这两个公司的影响很大 。
去哪儿
这是来自去哪儿公司分享的支付产品架构 。请看下图:
支付系统整体架构详解

文章插图
 
美团的支付平台架构
来自美团的支付平台规划架构。这是2015年的文档 。2016年美团才拿到支付牌照 。从这个架构,大家也能知道为什么美团必须拿到支付牌照 。
支付系统整体架构详解

文章插图
 
这些架构文档全部来自互联网公开资料 。对于架构是否真实反映实际系统情况,需要大家自行判断 。我们以这些文档为基础,分析支付系统的应有的软件架构 。
参考架构
一般来说,支付系统典型架构会包含如下模块:
支付系统整体架构详解

文章插图
 
支付系统从架构上来说,分为三层;
  1. 支撑层: 用来支持核心系统的基础软件包和基础设施,包括运维监控系统、日志分析系统等 。
  2. 核心层: 支付系统的核心模块,内部又分为两个部分: 支付核心模块以及支付服务模块 。
  3. 产品层: 通过核心层提供的服务组合起来,对最终用户、商户、运营管理人员提供的系统 。
支撑系统
支撑系统是一个公司提供给支付系统运行的基础设施 。主要包括如下子系统:
  1. 运维监控: 支付系统在下运行过程中不可避免的会受到各种内部和外部的干扰,光纤被挖断、黑客攻击、数据库被误删、上线系统中有bug等等,运维人员必须在第一时间内对这些意外事件作出响应,又不能够一天24小时盯着 。这就需要一个运维监控系统来协助完成 。
  2. 日志分析: 日志是支付系统统计分析、运维监控的重要依据 。公司需要提供基础设施来支持日志统一收集和分析 。
  3. 短信平台: 短信在支付系统中有重要作用: 身份验证、安全登录、找回密码、以及报警监控,都需要短信的支持 。
  4. 安全机制: 安全是支付的生命线 。SSL、证书系统、防刷接口等,都是支付的必要设施 。
  5. 统计报表: 支付数据的可视化展示,是公司进行决策的基础 。
远程连接管理、分布式计算、消息机制、全文检索、文件传输、数据存储、机器学习等,都是构建大型系统所必须的基础软件,这里不再一一详细介绍 。
支付核心系统
支付核心系统指用户执行支付的核心流程,包括:
  1. 用户从支付应用启动支付流程 。
  2. 支付应用根据应用和用户选择的支付工具来调用对应的支付产品来执行支付 。
  3. 支付路由根据支付工具、渠道费率、接口稳定性等因素选择合适的支付渠道来落地支付 。
  4. 支付渠道调用银行、第三方支付等渠道提供的接口来执行支付操作,最终落地资金转移 。
支付服务系统
支持支付核心系统所提供的功能 。服务系统又分为基础服务系统、资金系统、风控和信用系统 。
基础服务系统提供支撑线上支付系统运行的基础业务功能:


推荐阅读