a股交易接口
✪所谓两段式事务提交指的是在执行提交commit操作前,添加预提交prepare操作,其中预提交操作执行了传统意义上提交操作的大部分工作,我们可以简单地认为只要预提交prepare操作成功,后续的提交commit操作一定会成功。
✪我们讨论当出现异常时,后置提交事务如何避免数据不一致问题:
✪回到我们的交易系统,先不考虑多数据库之间的数据一致性问题,简单的交易流程为:
✪在步骤[5]执行SQL添加道具时出现异常,同时回滚金币数据库与道具数据库上的事务即可保证数据一致
✪正常情况下,上面的流程不会产生数据一致性问题,但如果在步骤[7]执行SQL添加道具时出现异常,由于扣除金币的事务已经在步骤[5]提交无法回滚,就会出现扣除玩家金币后没有为玩家添加道具的数据不一致情况。