1、事务特性(ACID)
Atomicity(原子性):一次操作,操作中包含的事务必须都成功或者都失败
Consistency(一致性):操作的对象(服务器),其数据发生一致性变化,即此消彼长
Isolation(隔离性):多事务之间互相隔离,不暴露通信状态
Durability(持久性):事务引起的数据变化,持久化到硬盘上,不受不可抗意外干扰(如断电……)

2、 分布式入门理论——CAP定理
Consistency(一致性):逻辑合法,数据发生一致性变化,则操作相关数据库,则必须同时被锁,方能保证操作过程中,数据一致。
Availability(可用性):服务器对象,随时可用,不能被锁 ,即使数据正在被操作。与C矛盾。
Partition tolerance(分区容错):分布式系统在长期运行的情况下,必然出错,是不可靠的。

在分布式系统下,网络出错是必然存在的,即是不可靠的。在分区容错一定出现的情况,C和A是不能同时满足的。故,CAP是不能同时满足的!
3、BASE理论之CPA的取舍

CA:在A的前提下,保证C;CP:在P的前提下保证C;AP:在P的前提下保证A。
在分布式系统中,可用性最重要,最常采用的是CP模式。
4、实操
windows系统下,打开命令行运行:【net start msdtc】开启分布式事务

C#项目中引用,命名空间【system.transactions】,代码实现:
//如果不开启windows的分布式服务,则会报错!!! using(TransactionScope transactionScope=new TransactionScope()) { //TODO:数据库操作 transactionScope.Complete();//提交事务 }
本文探讨了分布式系统中的事务特性(ACID)及其在一致性(Consistency)、隔离性(Isolation)和持久性(Durability)上的应用,以及CAP定理中一致性与可用性的冲突,并介绍了BASE理论和实操中的分布式事务开启与C#代码实例。
437

被折叠的 条评论
为什么被折叠?



