全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
全局事务服务 GTS

sample-txc-springcloud 样例工程

更新时间:2018-02-27 11:27:36

业务逻辑说明

模拟转账业务,从 A 账户扣款给 B 账户打款。应用程序通过调用扣款微服务和存款微服务完成转账业务。

  • eureka-locator:微服务的注册中心
  • eureka-consumer:应用程序
  • eureka-provider:扣款服务
  • eureka-provider2:存款服务

案例搭建方法

  1. 准备环境

    1. 需要两台 RDS,分别存储订单数据和库存数据,一台 ECS 用于部署本应用。
    2. 两个数据库均需要执行 txc_undo_log.sql 创建 txc_undo_log 表。
    3. 订单数据库需要执行 txc_sample_springcloud.sql 中的相关命令创建 account 表。
    4. 库存数据库需要执行 txc_sample_springcloud.sql 中的相关命令创建 account 表。
  2. 编译工程

    1. 下载源代码到 ECS 上。

    2. 修改逻辑组。

      在 eureka-consumer、eureka-provider、eureka-provider2 三个工程文件中找到 config.java 文件,在 txcTransactionScaner 方法中修改 GTS 的逻辑组名。

    3. 修改 Access Key ID 和 Access Key Secret。

      在 eureka-consumer、eureka-provider、eureka-provider2 三个工程文件中找到 application.properties 文件,将 Access Key ID 和 Access Key Secret 的 xxx 修改为具体值。

    4. 修改数据库资源

      在 eureka-consumer、eureka-provider、eureka-provider2 三个工程文件中找到 application.properties 文件,将数据库的 url、username、password 修改为相应的值。

    5. 在 eureka-consumer、eureka-provider、eureka-provider2、eureka-locator 工程目录中执行 build.sh 命令,编译工程,编译后会在相应工程文件中生产 client 目录。

  3. 运行程序

    1. 启动注册中心。

      运行 eureka-locator/client/bin 目录下的 locator.sh

    2. 启动扣款服务。

      运行 eureka-provider/client/bin 目录下的 provider1_run.sh

    3. 启动存款服务。

      运行 eureka-provider2/client/bin 目录下的 provider2_run.sh

    4. 运行应用程序。

      运行eureka-consumer/client/bin目录下的 consumer_run.sh

    5. 打开浏览器访问地址 http://127.0.0.1:9000/。

      初始化

    6. 转账操作:输入转账金额后单击 提交

      转账

    7. 余额不足后转账失败全局事务回滚。

      失败回滚

本文导读目录