分布式事物解决方案(基于XA的2PC/3PC、基于业务的TCC、消息最终一致性、最大努力通知、Seata)
先来讲一下什么是本地事物和分布式事物:平时我们写java代码在事物都会都会加@Transactional注解来保证事物的一致性,如下就是两个事物,如果都是通过这个注解的话,只要方法异常就回滚,看似没有问题;但是在分布式事物过程中,只要涉及到网络就是不可靠的,比如在方法中,远程调用成功了,但是因为网络原因迟迟没有返回,导致你认为是失败了,整个事物回滚,最终出现事物不一致;就如下图,李四金额增加成功了,由于网络原因返回超时了,但是张三回滚了,事物不一致,那么我们该如何解决分布式事物的问题呢?
目前我们都是
原创
2021-02-26 16:05:24 ·
745 阅读 ·
0 评论