分布式事务与分布式锁的区别:
分布式锁解决的是分布式资源抢占的问题;分布式事务和本地事务是解决流程化提交问题。
SQL中的4个事务隔离级别:(1)读未提交(2)读已提交(3)可重复读(4)串行化
MySQL的本地事务实现方案
操作单一的数据库,这种情况下的事务称之为本地事务(Local Transaction)。
通过 日志和锁、事务隔离级别 来保证的事务的 ACID特性。详见我的这篇 并发性事务带来的问题+并发控制(MySQL事务隔离级别、MySQL 锁)
多个事务并发操作时,数据库中会出现三种问题:脏读,幻读,不可重复读。
分布式事务的基本概念
保证分布式系统中的数据一致性,保证数据在子系统中始终保持一致。分布式系统中操作要么一起成功,要么一起失败,必须是一个整体性的事务。
简单的说,在分布式系统上一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务节点上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。
当本地事务要扩展到分布式时,它的复杂性进一步增加了。
- 1.存储端的多样