每日一博 | 分布式事务处理方案大 PK
@[toc] 说好了写 TienChin 项目的,最近这个分布式事务算是一个支线任务吧,今天是最后一篇,松哥再来一个短篇和小伙伴们总结一下分布式事务。 首先先说一个大原则:分布式事务能不用就不要用,毕竟这个用起来还是有一些麻烦的。当然,不用和不会用可是两码事。 1. 分布式事务基础理论 学习分布式事务,有一些基础理论需要我们先来了解下。 1.1 本地事务 本地事务是指将多条语句作为一个整体进行操作的功能,通过数据库事务可以确保该事务范围内的所有操作都可以全部成功或者全部失败,如果事务失败,那么效果就和没有执行这些SQL一样,不会对数据库数据有任何改动。也就是事务具有原子性,一个事务中的一系列操作要么全部成功,要么全部失败。一般来说,事务具有 4 个属性: Atomic:原子性,将一个事务中的所有 SQL 作为原子工作单元执行,要么全部执行,要么全部不执行; Consistent:一致性,事务完成后,所有数据的状态都是一致的,以银行转帐为例,如果 A 账户减去了 100,则 B 账户则必定加上了 100; Isolation:隔离性,如果有多个事务并发执行,每个事务作出的修改必须与其他事...
