PHP:分布式事务及两阶段提交方案实现思路

PHP因此语言特性和适用场景所限,其分布式事务实现不如Java那么成熟。

如果想通过PHP自行实现分布式事务,

1、可以参考一下Atomikos项目Atomikos, 

该方案说明文档可通过如下资源下载阅读:

http://download.csdn.net/detail/iefreer/5148135


这是一个分布式事务的JAVA开源实现。

此外,你需要阅读一下XA/JTA相关的内容,以了解更多关于分布式事务的相关理论知识。

基本上两阶段提交2-phase-commit (2PC)在理论上并不难理解:

  • 所有参与的系统会被询问是否可以提交
  • 所有这些系统必须回答这个问题,是或否,是代表从那个时刻起,提交比较能够通过
  • 当所有系统都没问题的时候执行提交,仅此而已
  • 万一有某个系统有问题,那么所有的系统必须同步回滚
  • 协调系统规定在特定时间内返回应答,否则认为是否定答案


2、还可以看看LIXA事务管理器(http://sourceforge.net/projects/lixa/)

从0.9.0开始,它集成了PHP和MySQL。

它提供了分布式事务处理,当然包含2阶段提交的功能实现。


by iefreer


你可能感兴趣的:(PHP,Distributed,transact)