下载此文档

大白话聊聊分布式事务.docx


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
大白话聊聊分布式事务
本文章来自于阿里云云栖社区
摘要: # 大白话聊聊分布式事务## 什么是分布式事务简单的来说就是,一个大的操作由两个或者更多的小的操作共同完成。而这些小的操作又分布在不同的网络主机上。这些操作,要么全部成功执行,要么全部不执行。拿转账的例子来说下什么是分布式事务。张三和李四在不同的城市,存储他们账户信息的服务器也在不同的网络主机上。张三有30元钱,李四有30元钱。张三给李四转账5元就是一个事务。完成这个事务,需要两个
大白话聊聊分布式事务
什么是分布式事务
简单的来说就是,一个大的操作由两个或者更多的小的操作共同完成。而这些小的操作又分布在不同的网络主机上。这些操作,要么全部成功执行,要么全部不执行。
拿转账的例子来说下什么是分布式事务。张三和李四在不同的城市,存储他们账户信息的服务器也在不同的网络主机上。张三有30元钱,李四有30元钱。张三给李四转账5元就是一个事务。完成这个事务,需要两个操作。首先得从张三账户上扣5元,然后再给李四账户上加5元。事务执行完毕后,必须是两个操作都执行成功,要么都失败。
事务的特性
分布式事务本身就是事务,所以也有事务的特性。事务有四个特征ACID:
A:原子性(Atomicity)
事务中的各个操作单元要么全部做,要么就全部不做。不能事务执行后,处于只做一半的状态。
C:一致性(Consistency)
事务执行后,必须由一个一致状态变为另外一个一致状态。
I:隔离性(Isolation)
事务之间不能相互干扰。
D:持久性(Durability)
一旦事务完成,对于数据的变更是永久的。
分布式事务实现方式
下面我们就以上面转账的例子来说下实现分布式事务的几种方式。
两阶段提交
两阶段提交的大概流程:
第一阶段:
正常情况下的操作过程如下:
在第一阶段,主要是事务管理者(经理)发起事务,让各个事务资源方(职员甲乙)确认资源是否满足,并做预处理(冻结)。资源方的操作有可能失败也可能
成功。如,张三账户不足5元钱,没办法冻结,就是失败。资源方把操作结果反馈给事务管理者。
异常情况下的操作过程如下:
如果预提交过程中出现任何问题,导致事务不能执行。将会通知资源方进行撤销预提交操作。
第二阶段:
如果是职员甲和职员乙都告诉经理,操作成功了。
正常情况下的操作过程如下:
这个时候,张三账户上的金额是25元。李四账户上的金额是35元。
异常情况下的操作过程如下:
这个时候,张三账户上的金额是30元。李四账户上的金额也是30元。
总而言之,事务的执行会分为预提交和提交两步进行。任何一个小操作出问题,导致事务不能完成,将会进行回滚操作。
两阶段提交需要注意的
两阶段提交,要有一个事务管理者协调各方的操作。各方对资源的占用要到整个事务结束后才能释放。这样会影响事务的效率。当并发量大的时候,系统的性能会严重下滑。
事务管理者和资源方存在通信。有可能存在通信不通畅。如,职员甲接受到扣钱的命令后,职员甲扣完了钱。由于电话

大白话聊聊分布式事务 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人85872037
  • 文件大小483 KB
  • 时间2018-06-06