分布式事务

事务

原子性

一致性

隔离性

持久性

分布式事务

保证不同数据库或者不同数据表数据一致性,要么全部成功,要么全部失败

场景

分库分表

SOA

SOA

对业务按服务进行区分

解决方案

基于XA协议的两阶段提交

XA

分布式事务协议,分为事务管理器、本地资源管理器,

事务管理器负责提交、回滚,本地资源管理器由数据库实现

消息事务+最终一致性

基于消息中间件的两阶段提交,对消息中间件的一种特殊利用

消息事务

1、A系统向消息中间件发送一条预备消息

2、消息中间件保存预备消息并返回成功

3、A执行本地事务,实现回调接口,消息中间件不断执行回调接口检查A事务执行是否成功

4、A发送提交消息给消息中间件,可省略

TCC编程模式

Try

Confirm

Cancel

浙ICP备11005866号-12