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

本文探讨了分布式系统中单个事务与多个事务的处理方式,深入解析了微服务环境下Feign远程调用如何传递异常及事务特性。同时,详细介绍了Spring事务管理,包括编程事务与注解事务的区别,以及Spring事务的AOP实现原理。此外,文章还阐述了事务的四大特性:原子性、一致性、隔离性和持久性,并讨论了不同的事务隔离级别如何解决读问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布式事务

单个事务的分布式系统

因为微服务用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 :以上读问题都能解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

NoBugsBoy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值