1.2pc,分阶段提交,
第一个阶段,分布式是先调所有需要的微服务接口,先执行,不提交,返回一个执行的状态,
第二个阶段,所有返回成功,再所有的都提交,有一个失败就都回滚,
缺点:锁定的数据范围太大,性能较差,高并发下不太适合
2.tcc,try confirm/cancel,补偿型事物,写任何业务都要写两个业务,正常业务和补偿业务,
调微服务接口,成功了就提交,当其中有一个接口失败了,再执行其他接口的补偿业务,来实现数据一致性,
避免锁定大量数据,但仍然存在补偿业务完成的一致性问题
3.异步确保。利用mq实现,有两种,一种是消息发出就不管了,一种要确保消息是被成功执行,关键是要确保消息是否丢失
4.利用tcc,,结合异步确保