如:积分发放
1、扣除发放者积分
2、增加接受者积分
可能存在问题是步骤1执行后,由于某种原因导致步骤2没有执行。一般有以下几种方法:
1、软处理
先假设扣除积分(设置一个状态),等确定增加接受者积分后,再根据状态扣除积分。
2、根据操作重要性排序优先处理
优先保证重要性的操作先完成,确定完成后再执行下一步操作。
3、数据库回滚
开启数据的binlog功能,利用日志回滚数据库数据。
4、SQL事务
将多个操作并成SQL事务,这样必须所有操作完成,数据库才算完成,一旦失败,数据库将恢复到之前状态。