场景
A 和 B 两个账户的数据分别位于 DRDS 实例的两个分库中。
A 转账给 B,用 50 个线程并发进行。
每个进程转账 10 次,每次转账金额在 1 到 10 之间随机生成。
转账过程中,模拟3%概率的网络异常。
使用 GTS 事务保证 A 和 B 两个账户的总金额始终不变。
准备工作
样例工程文件:通过样例的形式可以更加快速的部署、使用 GTS。首先,请 下载样例工程,样例工程的说明请参考 样例工程简介。
DRDS 资源:准备 DRDS 实例,并在其上创建不少于 2 个分库。
具体方法,可参考 DRDS 文档。
GTS 事务服务:在 DRDS 控制台中申请开启分布式事务服务。
具体步骤,请参考 DRDS 分布式事务。
账户:建立并初始化用例中的 A 和 B 账户数据,请执行脚本:txc_sample_drds.sql。
脚本执行的具体步骤:
在 DRDS 控制台,登录 DMS。
登录 DMS
开启 SQL 窗口,执行脚本中的 SQL。
执行 SQL 脚本
操作步骤
将样例工程(sample-txc-drds)文件夹拷贝到 ECS 实例或本地,并解压。
注意:请确保 ECS 实例上已经安装 Maven。
在样例工程安装目录(src\main\resources)下,找到并打开文件:txc-client-context.xml。
将数据源的 URL 中的 IP 地址替换为样例所在的 RDS 的地址。
在 ECS 上运行,请使用 DRDS 的“内网地址”。
在本地运行,请使用 DRDS 的“公网地址”。
说明:RDS 的内网地址及公网地址可以在您阿里云账号名下控制台的资源管理页面进行查询。
查询 RDS 内网地址
在样例工程根目录下,执行 build.sh/bat 脚本。
构建完成后会自动跳转到运行脚本所在目录,执行 run.sh/bat 脚本来运行样例程序。
注意:源代码在 /src/main/java/com/taobao/txc/tests 目录下,请参考。
结果验证
执行 run.sh/bat 的终端窗口会打印样例程序运行的过程及结果信息。
看到程序正常并正确运行完成的信息,即说明成功调用了 GTS 服务。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。