分布式事物--初步理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fangxinde/article/details/87862656

数据库事物要满足几个要求:ACID

Atomic(原子性) 事物必须是原子的工作单元,就是事物中所有功能要么全部成功、要么全部失败

Consistent(一致性)事物完成时,必须使所有数据都保持一致装状态:各种数据变化是一致的,动态平衡

Isolation(隔离性)并发事物所做的修改必须和其他事物所做的修改是隔离的

Duration(持久性)事物完成后,对系统的影响是永久性的

Isolation是通过锁实现的,其他三项是通过事务日志实现的

redo文件:记录修改以后的数据

undo文件:记录修改前的数据

1.记录redo和undo.log文件,确保日志在磁盘上持久化

2.更新数据记录

3.提交事物,redo写入commit记录

事务提交后,清理undo文件及释放锁。刷新redo日志,确保日志保存到磁盘中

分布式事务:

数据库分库分表

SOA化

X/OpenDIP模型

X/Open Distributed Transation Processing Reference Model

X/Open是一个组织机构,定义出的一套分布式事务标准,定义了规范的API接口

2PC(two-phase-commit),用来保证分分布式事务的完整性

J2EE遵循了X/OpenDTP规范,设计并实现了java里面的分布式事务编程接口规范-JTA

XA是X/OpenDTP定义的中间件与数据库之间的接口规范

猜你喜欢

转载自blog.csdn.net/fangxinde/article/details/87862656