写点什么

分布式事务 - 什么是分布式事务

作者:zarmnosaj
  • 2022-10-20
    四川
  • 本文字数:673 字

    阅读完需:约 1 分钟

何为分布式

在说分布式事务之前,先简单说下分布式系统:一句话简单概括,分布式系统就是部署在不同结点之上的系统,通过网络来交互,完成协同的工作,这样联结组成的系统就叫做分布式系统。常见的案例例如:充值话费,首先充值系统会往对应的账号上增加余额,积分系统再对对应的账户增加积分。

何为事务

事务指的是由一组操作组成的一个工作单元,这个工作单元具有 ACID 四个特性,分别指:


  1. 原子性(atomicity):一个执行单元中的一组操作要么全部执行成功,要么全部失败。如果只有部分成功,部分失败,那么成功的操作要全部回滚到初始执行前的状态。

  2. 一致性(consistency):事务在执行前后,数据的状态都是完整的,例如:一个账户增加了 100 元,另一个账户对应的会减少 100 元。

  3. 隔离性(isolation):在事务执行的过程中,任何数据的改变只存在于该事务之中,对其他事务不会有影响,事务与事务之间是完全的隔离的。只有当前事务提交后其它事务才可以查询到最新的数据。

  4. 持久性(durability) :事务完成后对数据的修改会存储于磁盘,即使宕机,重启服务后数据依然存在。

事务的划分

事务分为本地事务和分布式事务:本地事务:本地事务就是依靠于关系型数据库来控制事务,关系数据库通常都具有 ACID 特性,并且传统的单体应用通常会将数据全部存储 在一个数据库中,很好的利用到了关系数据库的事务特性。


分布式事务:在分布式系统中一次操作由多个系统协同完成,涉及多个系统通过网络协同完成的过程称为分布式事务。即使多个系统访问的是同一个数据库也是分布式事务。


其中分布式的应用场景非常广泛,例如:


  1. 电商系统中的下单扣库存

  2. 网课系统中下单选课业务

  3. ......

发布于: 刚刚阅读数: 5
用户头像

zarmnosaj

关注

靡不有初,鲜克有终 2020-02-06 加入

成都后端混子

评论

发布
暂无评论
分布式事务-什么是分布式事务_10月月更_zarmnosaj_InfoQ写作社区