分布式事务的Tcc 解决方案 利用 hmily框架
2、TCC 解决分布式事务的方案 落地时 hmily框架。 2.1 TCC 代表了三个阶段 Try Confirm cancel Try 就是 一个方法,这里 是 业务的逻辑,几个逻辑都操纵数据库 比如完成 注册用户,调用 送积分的 远程逻辑 默认 try执行了 confirm一定执行。 Confirm 这里呢 可以理解成 确认提交。 Cancel 就是业务的 回滚,只要try里面有异常 就 走cancel。 2.2 TCC 注意的异常处理情况 1) 空回滚 :就是 try没有执行 就执行cancel 方法。 2)幂等性 :一个方法无论调多少次 结果都是一样的 这是幂等性。 3) 悬挂 ;confirm 或者 cancel已经执行了 又要执行 try方法 这是悬挂。 处理的方法是调用 数据库的 逻辑。 hmily需要的数据库表设计。 事务的发起方 try这里需要解决幂等性 和悬挂的问题。 try方法上要加本地事务的注解。 cancel这里需要解决 空回滚和幂等性的问题。 事务的另一方 try这里 啥也不用写逻辑 confirm 这里需要 写 送积分的逻辑。这里即使又异常整个事务也回滚不了 可以人工的处理 。 需要解决幂等性。方法上要加本地事务的注解。 cancel 这里 也啥也不用写。 ##feign 的使用注意事项 @FeignClient(value="tcc-demo