目录
a)TCC 的 try、confirm、cancel 方法都需要在接口中基于注解来声明
c)对应刚刚上述所描述的实现思路,可以基本实现(未考虑空回滚 和 业务悬挂)
一、Seata 分布式解决方案
1.1、TCC 模式
1.1.1、TCC 模式理论
TCC 模式和 AT 模式很相似,第一阶段都是独立事务,执行完了直接提交,不同的是 TCC 模式不用去加锁,也不用生成快照,因此性能上会更好.
TCC 模式的第二阶段是基于人工编码的方式来实现数据恢复的,不像 AT 是自动实现的.
人工编码的方式需要实现三个方法,分别是 try、confirm、cancel.
- try:用来进行资源的检测和预留. 也就是说我需要修改某个资源的时候,先把这个资源预留下来,等到第二阶段的时候在对这个资源进行一个具体的操作.
- cancel:如果第二阶段需要进行回滚,就执行 cancel. cancel 是对预留资源的一个释放(可以理解为对 try 的反向操作).
- conf