sample-txc-simple 样例是最简单的 GTS 样例,所需依赖最少。您可以分别在阿里云网络及公网中搭建该样例。
前提条件
- 准备两个 RDS 实例,用户创建数据库。
- 准备一个 ECS 实例,用于部署本样例。
样例逻辑说明
从 A 账户转账给 B 账户,其中 A 和 B 分别位于两个数据库中,使用 GTS 事务保证 A 账户和 B 账户的总额始终不变。
搭建样例
- 初始化数据库。
- 在 txc-yun-sample/sql/ 目录下执行 txc_undo_log.sql,在两个 RDS 实例中分别创建 txc_undo_log 表。
- 在 txc-yun-sample/sql/ 目录下执行 sample-txc-simple.sql,在 RDS 1 中创建 user_money_a 表,在 RDS 2 中创建 user_money_b 表。
- 下载样例 txc-yun-sample并上传到 ECS 上。
- 修改样例配置。
- 在 sample-txc-simple 目录下执行 build.sh 命令,编译样例工程。
- 在 sample-txc-simple 目录下执行 run.sh 命令,启动样例。
在公网环境中搭建样例
说明
- mysql-connector-java 的版本需要和 MySQL 数据库版本匹配。样例的 pom.xml 中推荐添加 5.1.38 版本的依赖,该版本已经在 5.0.55、5.6.16、5.6.21 三个 MySQL 数据库版本上验证过。
- MySQL 数据库的库名、表名和字段名需要设置为大小写不敏感。
- 初始化数据库。
- 在两个 RDS 实例上分别安装 MySQL,并创建数据库 db1 和 db2。
- 在 txc-yun-sample/sql/ 目录下执行 txc_undo_log.sql,在两个 RDS 实例中分别创建 txc_undo_log 表。
- 在 txc-yun-sample/sql/ 目录下执行 sample-txc-simple.sql,在 RDS 1 中创建 user_money_a 表,在 RDS 2 中创建 user_money_b 表。
- 下载样例 txc-yun-sample并上传到 ECS 上。
- 修改样例配置。
- 在 sample-txc-simple 目录下执行 build.sh 命令,编译样例工程。
- 在 txc-yun-sample/sample-txc-simple/client/bin 目录下执行 run.sh 命令,启动样例。
结果验证
启动样例后,查看运行结果。