当前位置:  开发笔记 > 大数据 > 正文

分布式事务如何工作(例如MSDTC)?

如何解决《分布式事务如何工作(例如MSDTC)?》经验,为你挑选了0个好方法。

我以一种模糊的方式理解常规ACID事务的工作原理.您在数据库上执行一些工作,以便在设置某种提交标志之前不确认工作.提交部分基于一些基本假设(如单个磁盘块写入是原子的).如果发生灾难性错误,您可以在恢复阶段清除未提交的数据.

分布式事务如何工作?在一些MS文档中,我已经读过你可以以某种方式在数据库和文件系统之间执行事务(以及其他事情).

这种技术可能(并且可能)用于安装程序,您希望程序完全安装或完全不存在.您只需在安装程序开始时开始一个事务.接下来,您可以连接到注册表和文件系统,进行定义安装的更改.作业完成后,如果由于某种原因安装失败,只需提交或回滚.这个神奇的分布式事务协调器会自动为您清理注册表和文件系统.

如何以这种方式处理两个不同的系统?在我看来,总是可以让系统处于不一致状态,文件系统已经提交了更改而注册表没有.我认为在MSDTC中甚至可以通过网络执行事务.

我已经阅读了http://blogs.msdn.com/florinlazar/archive/2004/03/04/84199.aspx,但感觉只是解释的开头,而且第4步应该大大扩展.

编辑:从我在http://en.wikipedia.org/wiki/Distributed_transaction上收集的内容中,可以通过两阶段提交(http://en.wikipedia.org/wiki/Two-phase_commit)来完成.看完之后,我仍然没有理解100%的方法,似乎步骤之间有很多错误的余地.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有