文章目录
前言
对账是支付系统必不可少的一部分,可以及时发现交易环节存在的交易差异,运营人员可以及时修订交易差异,最重要的是可以发现支付系统存在的问题。一般对账主要分两部分,渠道对账、商户对账,渠道对账是支付平台交易数据和对接的各个支付机构数据进行比对,商户对账是给使用此交易平台的商户生成特定格式的交易账单文件,商户获取然后自己去核对。
本篇文章我们将探究如何设计一个能够支撑日交易量百万级的对账系统,并给出核心代码实现,仅供参考。
此设计实现已经在实际生产运行,总体效果还是不错的吧,100W笔交易,10min之内数据比对完成,当然还有很大的优化空间。真正的数据比对部分100W笔交易1s也用不到。时间耗费在哪里呢,有兴趣的接着往下看。
| 大小/耗时/配置 | |
|---|---|
| 对账文件大小 | 180M |
| 交易量 | 110W笔 |
| 文件下载时间 | 20s |
| 文件解析入库 | 35s |
| 数据查询 | 4min |
| 数据比对 | 700ms |
| 差错处理 | /</ |
超级会员免费看
本文探讨了一个能够支撑日交易量百万级的对账系统的设计,目标是快速、准确。系统采用基于应用进程内存的对账方式,通过Map数据结构进行数据比对,实现了百万级别数据的高效比对。主要涉及三个处理器:DataFetchReconTaskProcessor负责数据获取,DataCompareReconTaskProcessor负责数据比对,DiffDataDealReconTaskProcessor处理比对后的差错。通过对交易表和临时表数据的分片查询和内存比对,实现了秒级对账。
订阅专栏 解锁全文

2175

被折叠的 条评论
为什么被折叠?



