资金结算坑点
2023-07-17 15:51:01
资金结算坑点
1.注意事务一致
判断任意两个操作sql之间是否要保持事务一致,如果要,则需要加事务一致。
但要注意的是,如果对整个方法加事务一致,可能会丢失某个重要的不应该保持事务一致的数据操作。
例如接收订单进行结算,订单的原始数据的更新是不需要与资金结算保持事务一致的。
2.注意并发错误
可能会并发收到同一个订单信息,会导致重复结算。
解决方法是利用状态更新,更新成功的才进入下一步。update set status =1 where status!=1;
3.如果需要事务一致的,根据更新影响行数来进行控制,则需要考虑重启导致中断的影响。
即上一个更新完成后来不及更新下一步。如果不能做到一致,则应该抽离出来做事务一致。
4.兼顾性能与事务一致
采用tcc
5.需要有自动对账流程