针对银行间支付系统高峰时业务量高有可能导致单一清算账户成为热点账户的问题,同时为进一步解决集中账户场景下的支付清算系统分布式架构改造,本文从借贷分离和影子账户两种模式研究分布式记账模型在支付系统中的可行性并在结尾给出了两种模式的对比及在支付系统中的适用场景。
1.1. 分布式记账模型研究背景 支付系统为适应商业银行数据大集中趋势的需求,其接入方式由多点接入、多点清算过渡为一点接入、一点清算,目前能支持的峰值每小时50 万次的单一账户访问量,超过商业银行峰值的最大业务量, 能够满足当前的业务处理需求。但是随着我国社会经济快速发展,经济规模不断扩大,交易活动日益频繁,在可预见的未来,大型商业银行在高峰时业务量有可能突破每小时50 万笔,导致单一清算账户成为热点账户。
目前支付系统更多的采用集中式架构,其特点是架构简捷稳定,便于纵向扩展与管理,技术成熟, 但是集中式架构对高端设备依赖较强,业务连续性指标有待加强。
为进一步解决集中账户场景下的支付清算系统分布式架构改造,提出构建支付系统分布式记账模型研究。从借贷分离和影子账户两种模式研究其在支付系统中的可行性。
1.2. 分布式记账模型研究目标 1) 支持应用分布式改造 应用采用分布式架构,实现横向可扩展性。
2) 解决热点账户问题 3) 提高业务连续性 解决当前集中式架构依赖高端软硬件设备、系统健壮性弱等问题,部分节点故障时,保障业务连续性不受影响。
2. 分布式记账模型研究 2.1. 借贷分离 将支付业务拆分成借、贷两个事务,实现柔性事务,确保最终一致性。多实例架构下,各实例分别负责部分账户的记账处理。
借贷分离的好处是一旦发生区域性故障, 可以降低故障的影响面, 只有部分行的账户处理受到影响。
2.1.1. 基于TCC 的补偿性事务原理 一个完整的TCC 事务参与方包括三部分[1],如图1 所示: 1) 主业务服务 主业务服务为整个业务活动的发起方,如贷记业务商业银行A 转账给商业银行B,支付系统即是主业务服务。