dubbo分布式事务问题

发布于 2021-12-03 00:49:59 字数 85 浏览 772 评论 13

dubbo分布式事务问题,我想了解下这块,我在用dubbo的时候没有发现有分布式事务问题。那么我想问下到底什么时候才会有分布式事务问题呢?求各位大佬指点。、

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

不再见 2021-12-08 22:14:55

你好,这个我懂,因为是不同的数据源

乞讨 2021-12-08 22:14:46

比如你做了服务拆分,订单和产品分成了两个微服务,每个服务有自己的数据库,用户下单后,创建订单并减少库存,由于不是同一个数据库,就引出了分布式事务

灵芸 2021-12-08 22:13:45

但数据库没有呀,我发的代码就是在单数据库测试的,按表拆分但是表还在同一个数据库呀,它们用的是用一个数据源。

顾忌 2021-12-08 22:03:34

单数据库也有分布式事务问题    按表拆分服务 之间调用就会出现

野心澎湃 2021-12-08 22:02:58

    @Override
    public Long insertEntity( User user ) {
        RED red = new RED();
        red.setRedAmount(16);
        redService.insertEntity(red);//rpc调用测试的服务(url:112.xx.xx.xx)
        userService.del(1L);//rpc调用本地服务(url:127.0.0.1),这里面抛出异常
        return null;
    }

臻嫒无言 2021-12-08 22:02:46

回复
回滚了?a作为一个远程的服务一旦提交成功,即使后面b的方法抛出异常了也不可能导致a回滚的

彼岸花ソ最美的依靠 2021-12-08 21:39:37

确实是回滚了,看下面的代码

柠檬 2021-12-08 20:22:35

回复
所以我就觉得奇怪,我的想法跟你差不多,但是我自己测试的时候确实回滚了,同一个数据库。

甜扑 2021-12-08 14:43:09
@Transactional(rollbackFor = {Throwable.class})
public void test() {
    a.save(); // dubbo服务
    b.update(); // dubbo服务
}

问:b.update()方法异常了,a.save()会回滚吗?同一个数据库

囚你心 2021-12-08 12:22:12

那这么还不如直接说是多数据源就会有分布式事务问题,如果是单个数据源的话是不存在这个问题!

带上头具痛哭 2021-12-05 06:39:05

涉及到多库操作,且有2个以上

平生欢 2021-12-04 22:27:44

感谢您的回复,目前我测试的没有多库,所以测试下来发现没有事务问题

北笙凉宸 2021-12-03 05:14:13

你把业务组件分开项目写,每个组件有自己独立的数据库,组件与组件之间通信经过开放api接口来访问,这下你就要分布式事务了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文