luoc_searching 2016-03-11 23:27 采纳率: 0%
浏览 15506

dubbo分布式事务怎么处理

现在公司遇到一个问题 , 服务器A上跑了一个dubbo服务使用数据库A , 服务器B上也跑了一个dubbo服务使用数据库B, 现在服务器C里调用这两个服务 , 那么要如何实现这两个dubbo服务的事务呢 , 望大神解答啊???

  • 写回答

8条回答 默认 最新

  • wenxuechaozhe 2016-03-12 01:28
    关注

    是直接调用的service服务么?如果是通过controller层调用,将对应controller调用服务配置事务处理,若调用失败,则直接数据回滚。

    评论
  • roncoo 2016-07-19 23:26
    关注

    目前比较多的解决方案有几个:
    一、结合MQ消息中间件实现的可靠消息最终一致性
    二、TCC补偿性事务解决方案
    三、最大努力通知型方案
    第一种方案:可靠消息最终一致性,需要业务系统结合MQ消息中间件实现,在实现过程中需要保证消息的成功发送及成功消费。即需要通过业务系统控制MQ的消息状态
    第二种方案:TCC补偿性,分为三个阶段TRYING-CONFIRMING-CANCELING。每个阶段做不同的处理。
    TRYING阶段主要是对业务系统进行检测及资源预留
    CONFIRMING阶段是做业务提交,通过TRYING阶段执行成功后,再执行该阶段。默认如果TRYING阶段执行成功,CONFIRMING就一定能成功。
    CANCELING阶段是回对业务做回滚,在TRYING阶段中,如果存在分支事务TRYING失败,则需要调用CANCELING将已预留的资源进行释放。
    第三种方案:最大努力通知xing型,这种方案主要用在与第三方系统通讯时,比如:调用微信或支付宝支付后的支付结果通知。这种方案也是结合MQ进行实现,例如:通过MQ发送http请求,设置最大通知次数。达到通知次数后即不再通知。
    具体的案例你也可以参考下这篇博客,它上面有完整的电商系统分布式事务实现案例:http://www.roncoo.com/article/detail/124243

    评论
  • gambool 2016-07-26 22:03
    关注

    你可以试着以下思路,先操作A数据库,把所有的参数都传到A服务上,在A服务的方法里,先执行A的数据库操作,再在A服务中把剩下的参数传到B服务中,再在B中进行数据库操作,B服务出现异常,会把异常抛到A服务,A服务方法的上一步数据库操作会回滚!
    正常的流程就是:C调用A,A调用B
    出现异常时:B回滚,抛异常给A,A回滚,抛异常给C,C回滚。

    评论
  • 望舒 2016-09-03 00:11
    关注

    这广告打得不错,太屌了

    评论
  • aliuges 2016-09-18 02:39
    关注

    楼主搞定这个问题没,我也遇到了这个问题,不知怎么整 啊,求指点

    评论
  • whs_321 2016-11-01 22:39
    关注

    分布式事务解决方案的效果演示(结合支付系统真实应用场景):
    http://www.iqiyi.com/w_19rsveqlhh.html

    评论
  • 羽良 2017-06-14 19:25
    关注

    我基于spring的 tx下 PlatformTransactionManager,结合dubbo框架实现了对dubbo的分布式事务支持。框架很好的兼容并可以区分本地和分布式事务,并且该框架可以兼容任何基于spring的db框架,例如mybaits hibernate等。在需要的地方只需要添加一个分布式事务注解就行。我提供了一个TxManager服务来管理所有业务模块的事务调度,本身TxManager也可以做集群化。我把框架开源放在了github上,详细见:https://github.com/1991wangliang/transaction,希望大家多提提意见,共同帮我维护好框架。

    评论
  • 画心_sky 2019-02-17 11:50
    关注

    使用LCD框架试试看~

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部