前面两种XA模式和TA模式,都是用了加锁。
TCC模式则不会加锁,性能更好。
TCC模式跟AT模式非常相似,
1.AT模式下,第一阶段直接提交事务。
2.TCC模式下,第一阶段不是提交事务,而是资源的预留冻结。
不同的是二阶段TCC通过人工编码来实现数据恢复。
需要实现三个方法
Try: 资源的监测和预留(预留是基于冻结来实现的)
Confirm: 完成资源操作业务,要求Try成功,Confirm一定要能成功。
Cancel: 预留资源释放,可以理解为try的反向操作。
举例:一个扣减用户余额的业务,假设账户原来有100元,需要扣减30元。
AT模式与TCC模式区别
AT模式下,需要添加全局锁来实现事务隔离。但是在TCC模式下是不需要隔离