`
无量
  • 浏览: 1133291 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA进阶----分布式事务的一种简单处理方法

阅读更多
每个方法都是原子操作:

提供第三方服务的系统,要同时提供执行方法和对应的回滚方法

A系统调用B,C,D系统完成分布式事务


=========执行开始========
A.aa();

try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}

try {
C.cc();
} catch(Exception e) {
A.rollbackAa();
B.rollbackBb();
}

try {
D.dd();
} catch(Exception e) {
A.rollbackAa();
B.rollbackBb();
C.rollbackCc();
}

=======执行结束================

用补偿机制检查-----
多个系统间异常情况,进行补偿
0
1
分享到:
评论
5 楼 无量 2015-03-12  
string2020 写道
A.rollbackAa();
怎么实现

每个正向操作,都会对应有一个反向回滚的操作
4 楼 无量 2015-03-12  
string2020 写道
回滚报错了怎么办

这个是个有损服务,不是完全的分布式事务,所以后面还要有个统一的检查补偿机制。
如果所长完全的分布式,可以用两阶段提交,也可以自己改装JTA
3 楼 lwpan 2015-03-11  
坐等高手回答
2 楼 string2020 2015-03-11  
回滚报错了怎么办
1 楼 string2020 2015-03-11  
A.rollbackAa();
怎么实现

相关推荐

Global site tag (gtag.js) - Google Analytics