logo  

springboot最佳实践

springboot最佳实践
作者: 陈安廉

摘要:软件开发进阶系列


资金结算坑点


2023-07-17 15:51:01

资金结算坑点


1.注意事务一致

判断任意两个操作sql之间是否要保持事务一致,如果要,则需要加事务一致。

但要注意的是,如果对整个方法加事务一致,可能会丢失某个重要的不应该保持事务一致的数据操作。

例如接收订单进行结算,订单的原始数据的更新是不需要与资金结算保持事务一致的。

2.注意并发错误

可能会并发收到同一个订单信息,会导致重复结算。

解决方法是利用状态更新,更新成功的才进入下一步。update set status =1 where status!=1;

3.如果需要事务一致的,根据更新影响行数来进行控制,则需要考虑重启导致中断的影响。

即上一个更新完成后来不及更新下一步。如果不能做到一致,则应该抽离出来做事务一致。

4.兼顾性能与事务一致

采用tcc


5.需要有自动对账流程