全部产品
阿里云办公

sample-txc-springcloud 样例工程

更新时间:2018-08-16 11:18:12

业务逻辑说明

模拟转账业务,从 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. 运行 txc-yun-sample/sample-txc-springcloud 目录下的 sh 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. 余额不足后转账失败全局事务回滚。

      失败回滚