云栖问答

找不到答案?去提问题

2016-09-21 20:26:02

分布式事务是怎么实现的?


来源: [直播] 支撑海量用户的阿里中间件技术

能大概分享一下实现原理吗?服务提供方要不要改造?

3个回答

0

姜宇

我们自定义了一个高性能分布式事务协议,客户端、资源和事务协调器通过这个协议进行交互。客户端通过事务协调器开启事务,得到一个全局事务ID,调用EDAS服务时会把事务ID传给服务提供者,服务提供者操作的资源与事务协调器交互,产生事务分支。客户端根据业务是否成功,进行全局提交或回滚。事务协调器标识全局事务状态,并对所包含的分支分别进行提交或回滚。

0

姜宇

服务提供方只需要在配置上做些调整,用TXC定义的数据源,代码不需要修改

0

慕之

一种实现方式: 将数据库隔离级别调整成“未提交读”, 这样两个不同的事务都可以看到对方事务中的执行单但未提交的结果, 进而也就能判断出两个事务是否都执行成功了, 一旦两个事务都执行成功就可以一起提交了。

1
GO
2256
浏览
0
收藏
邀请他人回答