分布式事务问题

1.2pc,分阶段提交,

  第一个阶段,分布式是先调所有需要的微服务接口,先执行,不提交,返回一个执行的状态,

  第二个阶段,所有返回成功,再所有的都提交,有一个失败就都回滚,

  缺点:锁定的数据范围太大,性能较差,高并发下不太适合

2.tcc,try confirm/cancel,补偿型事物,写任何业务都要写两个业务,正常业务和补偿业务,

  调微服务接口,成功了就提交,当其中有一个接口失败了,再执行其他接口的补偿业务,来实现数据一致性,

      避免锁定大量数据,但仍然存在补偿业务完成的一致性问题

3.异步确保。利用mq实现,有两种,一种是消息发出就不管了,一种要确保消息是被成功执行,关键是要确保消息是否丢失

4.利用tcc,,结合异步确保

posted on 2020-09-29 14:55  小帅豹  阅读(125)  评论(0编辑  收藏  举报