文章目录
前言
对账是支付系统必不可少的一部分,可以及时发现交易环节存在的交易差异,运营人员可以及时修订交易差异,最重要的是可以发现支付系统存在的问题。一般对账主要分两部分,渠道对账、商户对账,渠道对账是支付平台交易数据和对接的各个支付机构数据进行比对,商户对账是给使用此交易平台的商户生成特定格式的交易账单文件,商户获取然后自己去核对。
本篇文章我们将探究如何设计一个能够支撑日交易量百万级的对账系统,并给出核心代码实现,仅供参考。
此设计实现已经在实际生产运行,总体效果还是不错的吧,100W笔交易,10min之内数据比对完成,当然还有很大的优化空间。真正的数据比对部分100W笔交易1s也用不到。时间耗费在哪里呢,有兴趣的接着往下看。
大小/耗时/配置 | |
---|---|
对账文件大小 | 180M |
交易量 | 110W笔 |
文件下载时间 | 20s |
文件解析入库 | 35s |
数据查询 | 4min |
数据比对 | 700ms |
差错处理 | / |
应用 | 4核 8G |
数据库 | Oracle |
一、分析设计
1.分析
首先我们得知道对账是在做什么?无非就是看同一笔交易数据