开发者社区 > 云原生 > 中间件 > 正文

请问 seata AT模式 会产生脏写吗?比如两个全局事务A和B,A和B要修改同一条数据,A此时刚刚

请问 seata AT模式 会产生脏写吗?比如两个全局事务A和B,A和B要修改同一条数据,A此时刚刚执行完第一阶段,B事务读取到了但是不会立马修改;此时A要回滚,A刚刚回滚结束释放全局锁,B开始修改获取全局锁,修改的数据是有问题的,导致脏写了是嘛?

展开
收起
真的很搞笑 2023-06-21 10:45:47 159 0
1 条回答
写回答
取消 提交回答
  • https://seata.io/zh-cn/docs/overview/what-is-seata.html,首页的文章就写的很明白,全局锁+本地锁。如果 A 和 B 都是全局事务,不会脏写。这是脏读,用select for update解决,at默认读未提交,有pr支持全局事务级别的隔离级别,如果你要求读已提交那么就是自动代理你的select转成for update来避免。目前这个pr还没合并,此回答整理自钉群“3群-Seata 开源讨论群”

    2023-06-21 12:41:18
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载