【传统事务+分布式事务+CAP定理+BASE理论+Seata】

1.传统数据库事务

1.1 事务概述

  1. 事务是最小的执行单元,事务的操作要么全部执行成功,要么全部执行失败
    在这里插入图片描述

1.2 事务四大特性

在这里插入图片描述

1.3 操作事务命令

在这里插入图片描述

1.4 事务隔离级别带来的问题

在这里插入图片描述

1.5事务控制

在这里插入图片描述

  • Spring中事务: Spring是基于运行时异常来控制事务的,这种机制叫声明式事务控制
  • 在要控制事务的方法上标记一个注解: @Transactional
    1. rollbackFor

在这里插入图片描述

    1. propagation

在这里插入图片描述

  1. 常用值:
    在这里插入图片描述
  2. 重点:
    在这里插入图片描述
  3. 案例:
    在这里插入图片描述

2. 分布式事务

  • 概述:在分布式环境下,出现的事务问题
  • 分布式事务种类:

在这里插入图片描述

  • 对比传统事务

在这里插入图片描述

  • CAP定理:
    在这里插入图片描述
  • 1.1 Consistency 一致性

在系统中的所有数据备份,在同一时刻要保持同样的值。

  • 1.2 Availability 可用性
  1. 在集群系统中,一部分节点故障后,集群整体依然可以响应外界请求。
  2. 简单来说,只要用户发起请求,系统就必须及时响应。响应的越快,可用性越好。
  • 1.3 Partition tolerance 分区容错性
  1. Partition(分区):因为网络故障或其它原因导致分布式系统中的部分节点与其它节点失去连接,形成独立分区。
    在这里插入图片描述
  2. Tolerance(容错):在集群出现分区时,整个系统也要持续对外提供服务。容忍出现分区的问题
  3. 解决分区问题的最好办法就是给数据备份,备份在不同的网络中,这样,当网络通信出现故障,就会降低数据访问不到的风险,提高了分区容错性。
  • 在分布式环境下,这三个指标不可能同时做到,且P是一定要保证的
    在这里插入图片描述
  • CP ,AP,CA
    在这里插入图片描述
  • BASE理论

在这里插入图片描述

  • 分布式事务的解决思路

在这里插入图片描述

3. Seata

  • 官网:http://seata.io/zh-cn/
  • Seata支持的模式:

在这里插入图片描述

  • Seata架构:

在这里插入图片描述

  • 图解:

在这里插入图片描述

  • Seata的AT模式:
  1. AT模式同样是分阶段提交的事务模型,不过缺弥补了XA模型中资源锁定周期过长的缺陷。在这里插入图片描述
  • 图解:

在这里插入图片描述

  • Seata的XA模式:
  1. 概述:在这里插入图片描述
  2. 正常情况:
    在这里插入图片描述
  3. 异常情况:
    在这里插入图片描述
  • Seata的XA模型:

在这里插入图片描述

  • Seata XA模式的优点和缺点:

在这里插入图片描述

4. 一图理解事务

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值