正文
咱们又回到最初的大外围小核心的架构上,快捷支付把大量的计算工作放在开放上,如鉴权,记流水,计算手绪费等,到主机上只做两件事,卡转账,记账。
由于在高并发的情况下,主机处理不过来或是响应变慢,指定时间内无回应,为了提高响应效率,利用柔性事务的原则,开放端首先返回成功状态给第三方支付机构,开放端记一个交易状态不确定。随后由开放端去主机上查证交易结果状成。主机端要是成功,无问题; 主机端要是失败,开放端返回成功,则形成了差错。这就需要线下由银行内营人员手工处理。这就是差错产生的根本原因。
1.6 快捷支付资金清算与对账
在X银行,快捷支付不存在他行的卡,而一般第三方支付机都在X银行开设了备付金账户。快捷支付的实质,就是将客户的钱转到第三方支付机构的备付金账户。因此白天客户支付,将客户的钱转入一个过渡的内部中间户头,日终结束后,再根据白天主机记账结果,将钱从中间户头打入支付机构备付金账户。这就是资金清算的处理,比较简单。
至于对账,银行只出对账单不对账,由第三方支付机构,根据银行出的对账单与划入的资金,与第三方机构自身的流水进行勾兑。如果发生问题,银行配合第三方支付机构进行排查。
1.7 实践效果
在银行这里看,快捷90%的业务量都在,X付宝与财付通,而且出于利润来说,银行欢迎双十一,不喜欢红包雨。
二、 在线问答
Q:冒昧问下,你们做到9kTPS整个集群数量大概多少?
A:主中心30台,备中心30台,共60台
Q:是双十一tps最高吗?
A:春节,比较不爽,过年。。。(小额红包来的应该最猛)
Q:最高TPS为啥要设计到9k这么高 比峰值翻倍?
A:不是设计成那么高,是业务要求,和阿里压测的时候,到了1.2W
Q:你们做到9kTPS整个集群数量大概多少?
A:60台,每台300联接数
Q:主备之间的数据同步是什么技术处理的?
A:oracle ADG(细节请百度)
Q:银行快捷收费都是按交易金额算的么?不是按交易笔数?
A:打包按总金额收
Q:备中心也处理用户请求,数据双向同步?
A:单向,你仔细看我的图,备中心4号库是主库
Q:备中心是仅仅备份数据比他对账单,还是也要处理支付请求?
A:备中心设有一个主库,分1/4的业务
Q:那个分发用到什么算法吗,取模吗?
A:这个算法我就不细说了,有卡号了分表就很容易了
Q:分库分表用的是什么技术和框架?