分布式事务和spring内置的事务

分布式事务

单个事务的分布式系统

因为微服务用feign远程调用不同服务的接口, 还使用了rest风格如果抛出异常就返回一个状态码, 因为feign的内部实现了 如果发现抛出的异常状态码不是200 左右他就会自动抛出异常,把异常从一个微服务转到另一个微服务.(异常传过来了 事务的特性就传过来了)

上面的说明只能是单个事务. . 如果遇到多个事务上面的方案就处理不了了…

超过两个事物的分布式系统

以后更新,最近在准备面试 这块只是知道一点

spring内置的事务

编程 事务 (不用)
注解 事务
spring的事务 是基于AOP的

一 . 什么是事务:
事务:指的是逻辑上的一组操作,组成这组操作的各个单元要么一起成功要么一起失败。

二 . 事务的特性 :
1 . 原子性:事务的不可分割
2 . 一致性:事务执行的前后,数据完整性保持一致。
3 . 隔离性:一个事务的执行,不应该受到其他事务的干扰。
4 . 持久性:一旦事务结束,数据就持久到数据库中。

三. 如果不考虑隔离性,引发安全性问题:
1 . 读问题:
(1) . 脏读 :一个事务读到另一个事务未提交的数据。
(2) . 不可重复读 :一个事务读到另一个事务已经提交update的数据,导致一个事务中多次查询结果不一致。
(3) . 虚读 :一个事务读到另一个事务已经提交insert的数据,导致一个事务中多次查询结果不一致。

四 . 解决读问题:
设置事务隔离级别
1 . read uncommitted :以上读问题都有可能发生
2 . read committed :避免脏读,但是不可重复读和虚读有可能发生。
3 . repeatable read :避免脏读和不可重复读,但是虚读有可能发生。
4 . serializable :以上读问题都能解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NoBugsBoy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值