交易和核算分离呢,其实说白了,就是先让客户将业务做完,而账务处理呢却在晚上通过跑批的方式处理。这样就是借贷平衡记账了,比如我们现在的一个缴费交易,首先从客户账务上扣钱,然后记到一个对应的内部科目里去。这样就实现了一借一贷。
但是这样的记账有个弊端。就是客户可以很多个,但是对应的内部科目却只有一个,由于每次记账这个内部户都是被锁住的(防止脏数据),那么如果在大量并发交易的时候,很多客户都在缴费,就会出现锁表的情况,造成业务中断。
还是这个缴费功能,白天客户缴费了,客户金额立刻扣减,同时登记一个客户台账。等到晚上批处理来执行的时候,批量的将这个台账数据跑入内部户中完成记账处理。 这样从客户的角度来看,金额实时减少了,说明缴费成功了,而对于账务处理,在晚上按顺序批量执行,不会出现大量抢占内部户资源的情况。