请问分布式事务如何做?

请问分布式事务如何做?

问题描述:

请问分布式事务如何做?

有没有了解过、做过的呢?

保证分布式环境下的原子性,可以通过分布式的tcc事务,包括:Try、Confirm、Cancel 3个方法。只要是分布式事务,一定都是两阶段提交,第一阶段是各个节点准备,第二阶段才是各个节点提交或回滚。

tcc的三个方法都是需要微服务的服务层在方法中用硬编码的方式来实现,也就是try方法作为第一阶段,各个参与节点是否都准备好了,例如,a,b两个微服务,try资源检查阶段检查a是否有钱,再进行a减掉钱,b加上钱这些预操作。然后在confirm方法中提交,或者在cancel阶段b减掉钱,a加上钱的回滚操作。

Tcc的开源框架,例如Hmily可以尝试一下,支持spring cloud。