支付的典型架构
每个公司根据其业务和公司发展的不同阶段,所设计的支付系统也会有所不同。我们先看看互联网公司的一些典型的支付系统架构。
支付宝
先看看业内最强的支付宝系统,支付宝的支付系统整体架构设计
这个整体架构上并没有与众不同之处。在模块划分上,这个图显示的是最顶层的划分,也无法告知更多细节。 但支付宝架构强点在两个方面,一个是账务处理,分为内外两个子系统,外部子系统是单边账,内部子系统走复式记账。 不少支付平台是从这里得到启发来搞定的对账系统。
另一个亮点是柔性事务处理,利用消息机制来实现跨系统的事务处理,避免数据库锁导致的性能问题。
京东金融
来自京东支付平台总体架构设计 。
京东金融是在网银在线的基础上发展起来的。 网银在线的原班技术人员有不少来自易宝公司,在京东收购之后,又引入了支付宝的人才。因而从架构上受这两个公司的影响很大。
去哪儿
来自去哪儿公司分享的支付产品架构
美团
来自美团的支付平台规划架构 。这是2015年的文档。 2016年美团才拿到支付牌照。 从这个架构,大家也能知道为什么美团必须拿到支付牌照。
这些架构文档全部来自互联网公开资料。 对于架构是否真实反映实际系统情况,需要大家自行判断。 我们以这些文档为基础,分析支付系统的应有的软件架构。
参考架构
一般来说,支付系统典型架构会包含如下模块:
支付系统从架构上来说,分为三层;
- 支撑层: 用来支持核心系统的基础软件包和基础设施, 包括运维监控系统、日志分析系统等。
- 核心层: 支付系统的核心模块,内部又分为两个部分: 支付核心模块以及支付服务模块。
- 产品层: 通过核心层提供的服务组合起来,对最终用户、商户、运营管理人员提供的系统。
支撑系统
支撑系统是一个公司提供给支付系统运行的基础设施。 主要包括如下子系统:
远程连接管理、分布式计算、消息机制、全文检索、文件传输、数据存储、机器学习等,都是构建大型系统所必须的基础软件,这里不再一一详细介绍。
支付核心系统
支付核心系统指用户执行支付的核心流程,包括:
- 用户从支付应用启动支付流程。
- 支付应用根据应用和用户选择的支付工具来调用对应的支付产品来执行支付。
- 支付路由根据支付工具、渠道费率、接口稳定性等因素选择合适的支付渠道来落地支付。
- 支付渠道调用银行、第三方支付等渠道提供的接口来执行支付操作,最终落地资金转移。
支付服务系统
支持支付核心系统所提供的功能。服务系统又分为基础服务系统、资金系统、风控和信用系统。
基础服务系统提供支撑线上支付系统运行的基础业务功能:
- 客户信息管理:包括对用户、商户的实名身份、基本信息、协议的管理;
- 卡券管理: 对优惠券、代金券、折扣券的制作、发放、使用流程的管理;
- 支付通道管理: 通道接口、配置参数、费用、限额以及QOS的管理;
- 账户和账务系统: 管理账户信息以及交易流水、记账凭证等。这里的账务一般指对接线上系统的账务,采用单边账的记账方式。 内部账记录在会计核算系统中。
- 订单系统: 一般订单系统可以独立于业务系统来实现的。这里的订单,主要指支付订单。
欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。
本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。
- 长按下方的二维码可以快速关注我们