首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谈谈分布式事务之二:基于DTC的分布式事务管理模型

所有事务参与者,包括所有资源管理器和事务管理器(即DTC)在进行了事务等级完成之后形成了一个树形的层级结构,该结构的形成是后续的事务提供成为可能,因此我们将其称之为事务提交树(Transaction Commit...一、事务登记(Transaction Enlisting)和事务提交树(Transaction Commit Tree) 事务登记的目的在于建立起事务参与者(只要指资源管理器和事务管理器DTC)之间的关系...图2 事务提交树 事务提交树的构建使得对分布式事务的提交成为可能,分布式事务的提交采用两阶段协议实现,接下来我们详细介绍基于两阶段提交协议的事务提交机制。...二、基于两阶段提交(2PC:Two-Phase Commit)协议的事务提交机制 不同于基于单一资源管理器的本地事务,在一个分布式环境中时实现一个涉及到多个资源管理器的分布式事务,实现事务的ACID四大属性...图3 DTC对SPC和2PC的选择 我们我们介绍整个Windows平台基于DTC的分布式事务管理模型,接下来的一篇中,我将会详细介绍基于System.Transactions事务的编程。

78260

谈谈分布式事务之二:基于DTC的分布式事务管理模型

通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管理系统,这是一个复杂的架构体系。...WCF,作为Windows平台下基于SOA的分布式框架,对分布式事务提供全面的支持。不过,WCF并不是另起炉灶,而是充分地利用了Windows现有的事务控制基础架构。...从上面的介绍我们不难看出,无论是LTM还是KTM,其管辖范围仅限于本地事务,对于分布式事务却无能为力。分布式事务依赖于一个更为强大的事务管理器,就是我们接下来着重介绍的分布式事务协调器。...DTC用于管理跨边界(跨应用程序域、进程、机器以至跨网络)执行的分布式事务,它采用相应的事务管理协议,比如Ole-Tx和WS-Atomic Transaction(WS-AT),协调一个分布式事务中的所有参与者...4、事务提升(Transaction Promotion) 以上我们介绍了三种不同的事务管理器类型,从功能上讲,DTC能够协调、管理一个分布式事务涉及的所有事务型资源,而不管具体的资源分布于何处。

80080
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    游戏服务的分布式事务优化(二)- 事务管理

    前言 接上文 《游戏服务的分布式事务优化(一)- Write Ahead Log(WAL) 模块》 在挺久以前我写过一篇分享 《在游戏服务器中使用分布式事务》 。...当时尝试在我们的游戏服务中引入TCC模型的分布式事务机制,以优化好友和公会服务的一致性流程。...此篇为重构内容的第二部分,主要聚焦于事务管理。 基本原理 首先,先简介一下这个分布式事务系统的基本原理。...比如在需要发送消息时,应该由网络层组件来进行排队或等发送完消息后销毁相关资源,事务管理模块不应该关心具体细节。...仅使用WAL模块,不使用事务管理 进程名 WAL 模块 订阅机制 事务管理 gamesvr ✔️ Subscriber ❌ chatsvr ✔️ Publisher ❌ 最后 这个整套实现开源在了 atsf4g-co

    2.6K30

    谈谈分布式事务之二:基于DTC的分布式事务管理模型

    通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管理系统,这是一个复杂的架构体系。...WCF,作为Windows平台下基于SOA的分布式框架,对分布式事务提供全面的支持。不过,WCF并不是另起炉灶,而是充分地利用了Windows现有的事务控制基础架构。...从上面的介绍我们不难看出,无论是LTM还是KTM,其管辖范围仅限于本地事务,对于分布式事务却无能为力。分布式事务依赖于一个更为强大的事务管理器,就是我们接下来着重介绍的分布式事务协调器。...DTC用于管理跨边界(跨应用程序域、进程、机器以至跨网络)执行的分布式事务,它采用相应的事务管理协议,比如Ole-Tx和WS-Atomic Transaction(WS-AT),协调一个分布式事务中的所有参与者...4、事务提升(Transaction Promotion) 以上我们介绍了三种不同的事务管理器类型,从功能上讲,DTC能够协调、管理一个分布式事务涉及的所有事务型资源,而不管具体的资源分布于何处。

    74380

    Vue中使用分布式事务管理解决方案

    ---分布式事务管理是什么分布式事务管理是指在分布式系统中对跨多个数据库或服务的操作进行协调和保证一致性的机制。...因此,分布式事务管理就是解决分布式系统中事务一致性的挑战,确保各个参与者之间的操作能够按照预期进行。...优点:可扩展性:分布式事务管理允许系统水平扩展,通过将负载分布到不同的节点上,提高了系统的性能和容量。...弹性和高可用性:分布式事务管理可以处理节点故障或网络问题,并保证事务的完成或回滚,从而提供了系统的弹性和高可用性。...解决方案在Vue中进行分布式事务管理是一个较为复杂的问题,因为Vue本身是一种用于构建用户界面的JavaScript框架,并不直接提供分布式事务管理功能。

    22410

    Spring事务管理

    1、Spring的事务管理主要包括3个接口   TransactionDefinition:封装事务的隔离级别,超时时间,是否为只读事务和事务的传播规则等事务属性,可通过XML配置具体信息。   ...2、Spring的事务管理:   1、PlatformTransactionManager:接口统一,抽取处理事务操作相关的方法;   (1):TransactionStatus getTransaction...TransactionStatus status): 将事务回滚,当commit方法抛出异常时,rollback会被隐式调用   2、在使用spring管理事务的时候,首先得告诉spring使用哪一个事务管理器...;   3、常用的事务管理器:     DataSourceTransactionManager:使用JDBC,MyBatis的事务管理器;     HibernateTransactionManager...:使用Hibernate的事务管理器; 3、步骤   第一步:配置Spring的事务管理器(需要用的dataSource)   第二步:配置事务 <?

    28320

    Spring事务管理

    1 Spring事务简介【重点】 问题导入 Spring提供的事务管理是数据层的事务还是业务层的事务?...(out,money); int i = 1/0; accountDao.inMoney(in,money); } } 【第一步】在业务层接口上添加Spring事务管理...(将事务管理器添加到IOC容器中) 说明:可以在JdbcConfig中配置事务管理器 //配置事务管理器,mybatis使用的是jdbc事务 @Bean public PlatformTransactionManager...IOException { accountService.transfer("Tom","Jerry",100D); } } 2 Spring事务角色【理解】 问题导入 什么是事务管理员...2.1 Spring事务角色 事务管理员:发起事务方,在Spring中通常指代业务层开启事务的方法 事务协调员:加入事务方,在Spring中通常指代数据层方法,也可以是业务层方法 3 Spring事务相关配置

    15120

    SpringBoot事务管理

    值得一提的是,事务为什么要放在Service层呢,我们进行事务管理的目的就是为了使几个对持久层的操作要么都成功,要么都失败,而不是一个失败一个成功,这样子数据就会出现很多问题,比如脏读、不可重复读、幻读...首先我们先了解下Spring的事务管理的使用。常见的都会用xml的配置方式来使用Spring AOP切面编程,把事务以切面的方式注入到Service层。...我们首先配置了事务管理器(txManager),传入数据源(dataSource),配置事务通知(txAdivce),最后将【事务管理器】切入需要进行事务管理的Service方法中。 <!...直接使用@Transactional注解进行事务管理。...不过在传统的工程中也可以使用@Transactional注解来申明事务,但是使用XML来配置事务管理器(DataSourceTransactionManager)是必不可少的。

    1.3K10
    领券