Alibaba微服务组件 – Seata(一) 分布式事务解决方案


1.1 事务简介

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。
这四个属性通常称为ACID特性。

  • 原子性(atomicity):事务是一个不可分割的工作单元,事务中包含的所有操作要么都做,要么都不做。

  • 一致性(consistency):事务必须使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到。

  • 隔离性(isolation):一个事务的执行不能被其他事务干扰,即一个事务的内部操作和使用的数据对并发的其他事物是隔离的,并发执行的各个事务之间不能互相干扰。
    隔离又分为四个级别:.

    1. 读未提交(read uncommitted)
    2. 读已提交(read committed,解决脏读)
    3. 可重复读(repeatableread,解决虚读)
    4. 串行化(serializable,解决幻读)

  • 持久性(durability):持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

任何事务机制在实现时,都应该考虑事务的ACID特性,包括:本地事务、分布式事务,及时不能都很好的满足,也要考虑支持到什么程度。

1.2 本地事务

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/245653.html

(0)
上一篇 2022年4月18日 16:30
下一篇 2022年4月18日 16:39

相关推荐

发表回复

登录后才能评论