事务2 mysql事务,

mysql事务隔离级别

  • 脏读
  • 事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据
  • 不可重复读
  • 事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。
  • 幻读
  • 系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。
事务隔离级别 脏读 不可重复读 幻读
读未提交(read-uncommitted)
不可重复读(read-committed)
可重复读(repeatable-read)
串行化(serializable)

分布式事务作用

保证不同节点的数据一致性

XA分布式事务协议

2pc(两阶段递交)

通俗理解

类似于 吃鸡游戏四排时组队,必须所有队员全部准备才能开

两阶段递交过程

第一阶段(准备阶段)

  • 事务中有两个角色,一个是协调者,一个是参与者
  • 协调者会向参与者发送 事务准备请求
  •  
  • 各个参与者会准备事务提交的相关数据,返回是否准备好了。进入第二阶段
  • 个人理解

  • 试探性的提交

第二阶段(提交阶段)

  • 如果都准备好了,则进行递交操作,如果失败了,则执行回滚
  • 协调者会向参与者发送提交请求
  • 参与者会提交本地事务,并返回完成
  • 当事务协调者收到所有的参与者提交完成,则完成分布式事务完成

猜你喜欢

转载自blog.csdn.net/qq_32726809/article/details/83381595