PHP开发PHP实战PHP经验分享

PHP分布式事务-两段式提交 2PC(二)

2016-11-29  本文已影响143人  水滴穿石

PHP-2PC Hprose分布式示例

1.服务器或虚拟机

虚拟机三台centos6.5
IP:10.211.55.100 10.211.55.101 10.211.55.106

2.ip:10.211.55.100

php5.6
mysql5.7 order数据库
nginx配置
    rpc.com
    order.server.rpc.com

3.ip:10.211.55.101

mysql5.7

4.ip:10.211.55.106

php5.6
nginx配置
    order.server.rpc.com

5.hosts配置

本机hosts
10.211.55.100 rpc.com

虚拟机10.211.55.100 hosts
10.211.55.100 order.server.rpc.com
10.211.55.106 goods.server.rpc.com

6.数据库

10.211.55.100 创建order数据库,增加order表
CREATE TABLE `order` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `order_no` varchar(32) DEFAULT NULL,
  `goods_id` int(11) DEFAULT NULL,
  `goods_name` varchar(255) DEFAULT NULL,
  `goods_num` int(11) DEFAULT NULL,
  `create_time` int(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;

10.211.55.101 创建goods数据库,增加goods表
goods数据库
CREATE TABLE `goods` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `num` int(11) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
INSERT INTO `goods` VALUES ('1', '商品1', '1000'), ('2', '商品2', '999');

7. 测试代码

1.未使用RPC HPRose
http://rpc.com/xa_test.php
 
2.RPC HPRose order goods 分布事务XA使用
http://rpc.com/xa_test_hprose.php

3.RPC HPRose goods 测试
http://rpc.com/xa_test_hprose_2.php

4.RPC HPRose order 测试
http://rpc.com/xa_test_hprose_3.php

github代码地址: https://github.com/jingyanlei/PHP-2PC

上一篇下一篇

猜你喜欢

热点阅读