概括总结WCF事务管理器三大类

开发 后端
这里就WCF事务管理器有3种:LTM、KTM、DTC,他们应用的场合不同,由于事务有本地和分布式事务的区别,所以三种协议使用的场合也不相同。

事务是我们编程中不可缺少的一部分,我们有的时候很难控制好事务,这里我们就介绍关于WCF事务管理器的一些知识要领。分布式事务的实现要依靠第三方事务管理器来实现。他负责管理个个事务的执行情况。最后根据全部的事务执行结果,决定提交或者回滚整个事务。这个也就是通常所说的两阶段提交协议。通常来说WCF事务管理器有3种:LTM、KTM、DTC。他们应用的场合不同。由于事务有本地和分布式事务的区别。所以三种协议使用的场合也不相同。下面依次详细介绍:

#T#LTM:轻量级事务管理器,它只能管理本地事务,单个应用程序域中的事务,它根据轻量级事务协议来管理和实现两阶段提交协议。 LTM是一种高效的资源管理器。它只能管理本地事务。在.NET2.0中经常使用。WCF事务编程中我们可以使用其来管理本地事务。

KTM:在Vista核心中的新组件,其目的是方便进行大量的错误恢复工作,而且过程几乎是透明的,而KTM之所以可以做到这一点,是因为它可以作为事务客户端接入的一个WCF事务管理器进行工作。与LTM一样, KTM只能管理一个本地服务的事务。而且不支持事务传播给别的服务。

DTC:.NET Framework 依靠 MTS/COM+ 服务来支持自动事务。COM+ 使用 Microsoft Distributed Transaction Coordinator (DTC) 作为事务管理器和事务协调器在分布式环境中运行事务。分布式事务协调器 (DTC) 服务可协调更新两个或多个受事务保护的资源的事务, 如数据库、消息队列、文件系统等等。这些受事务保护的资源可能位于单个计算机上,或分布在许多网络计算机上。DTC可以使用OleTx或者WSAT协议。 WCF可以借助DTC实现分布式事务机制。DTC可以创建事务、传播事务信息、收集全部事务的结果、通知事务管理器提交或者回滚事务。

在分布式事务中,事务管理器A会向参与事务的其他机器发出调用请求。其它机器拦截请求。获取事务ID,启动本地事务。其他机器同时启动本地资源管理器登记。执行两阶段提交协议。最后根据全部的结果。执行第二阶段是否提交和回滚。DTC管理分布式事务如图所示:

DTC管理分布式事务

  

事务资源管理器会根据事物执行的实际情况和需求进行提升。最初的事务由LTM管理,这样能获得最好的性能;

责任编辑:田树 来源: 博客
相关推荐

2009-09-29 09:44:52

Hibernate事务

2023-03-27 10:40:09

2009-11-09 10:43:51

WCF Web编程模型

2023-04-02 13:57:04

Java自定义事务管理器

2009-06-30 16:57:42

Spring事务管理

2023-10-08 08:28:10

Spring事务管理

2009-06-17 14:57:11

Spring事务管理

2010-01-25 14:31:07

C++类

2009-09-23 17:48:00

Hibernate事务

2014-08-25 09:12:47

Spring事务管理

2009-06-08 17:56:00

SpringJDBC事务

2009-06-03 10:20:11

Hibernate事务管理配置

2009-11-09 11:15:06

WCF消息队列

2023-12-19 23:00:21

2009-07-17 14:03:34

ibatis DAO事务管理

2010-03-29 13:34:15

ibmdwSpring

2022-08-04 08:46:16

单体架构微服务事务管理

2009-09-25 12:59:53

Hibernate事务

2010-03-23 08:46:40

Spring

2009-02-11 11:14:31

事务管理事务开始Spring
点赞
收藏

51CTO技术栈公众号