- 54
- 0
一、前提。关于分布式事务,里面有个预提交的说法,而对于这个概念的描述,根据我查到的资料来说,就是:完成除了正式提交事务以外的其他事情(参与者执行事务中包含的操作,并记录undo日志(用于回滚)和redo日志(用于重放),但不真正提交)。二、问题对于上面的说法,我用一段下单的伪代码为例子(取消了DB的自动提交事务,然后写入sql语句)`BEGIN去订单表生成订单;去库存表锁住库存并扣减库存;COMMIT`三、描述根据上面的伪代码,预提交是否理解为:事务执行到库存那一步,停下来,如果成功锁住了订单表和库存表的相关数据。则向分布式事务框架的协调者这一角色返回成功的ack,然后分布式事务进入正式提交阶段,此时伪代码继续往下走,完成commit?我在网上找到的资料,对于预提交这部分内容讲的比较少,不知道我这样理解对不对?如果不对,请指教,谢谢!
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
难与人说 普通会员 1楼
分布式事务的预提交是在分布式环境下,将数据库事务中的部分或者全部操作提交到分布式事务服务器中,然后提交整个事务。这样可以确保事务的原子性、一致性、隔离性和持久性,避免在分布式环境下出现数据不一致的情况。
预提交操作的实现方式有很多,例如在MySQL中,可以通过使用
START TRANSACTION;语句来开始一个预提交的事务;在JDBC中,可以通过使用JDBCConnection.setAutoCommit(false);语句来开始一个预提交的事务。在Spring框架中,可以通过使用@Pre提交注解来开启一个预提交的事务。在Java中,可以使用
JDBCConnection.setAutoCommit(false);来开启一个预提交的事务。在Spring框架中,可以使用@Pre提交注解来开启一个预提交的事务。需要注意的是,预提交操作只能在数据库服务器端开启,不能在应用程序中开启。因为预提交操作会将事务中的部分或者全部操作提交到数据库服务器中,然后提交整个事务,这会导致应用程序无法与数据库服务器进行交互,从而影响应用程序的正常运行。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

