当前位置: 代码迷 >> Java相关 >> 孢子框架-分布式事务解决方法
  详细解决方案

孢子框架-分布式事务解决方法

热度:13   发布时间:2016-04-22 19:32:53.0
孢子框架-分布式事务解决办法

传统的SOA因为使用了数据总线来连接各个数据库,因此在执行某个关联多个数据库的操作时会存在分布式事务的问题,如图(1):

孢子框架是基于微服务的理念,就是自己的事情自己做主,某个业务操作如果需要连接多个数据库(图2),那么就在模块业务方法里面直接连接多个数据库,这个时候你解决不同数据库事务不就很好办了,以前没有SOA架构,最原始的做法就是这样的:

解决的算法:

Try{

       DB1.数据连接.事务.begin()

       DB2.数据连接.事务.begin()

  ……处理操作

  ……处理操作

       DB1.数据连接.事务.commit()

       DB2.数据连接.事务. commit()

}catch{

       DB1.数据连接.事务. rollback()

  DB2.数据连接.事务. rollback()

}

分布式事务变的简单了,业务处理变的复杂了,此种方法也只适合互联网这种业务处理本来就不是很复杂的应用。

1楼gzivan
典型的soa思想,敢问你当真实践过微服务?微服务这样解决事务的?请再参考多点资料,别误人子弟!
  相关解决方案