全部产品
阿里云办公

FAQ

更新时间:2018-08-31 17:00:58

如何开通 GTS 服务,都需要准备什么?

首先,您需要申请一个阿里云账户。然后,您需要在阿里云的产品与服务中找到 GTS 产品,并点击进入 GTS 控制台。

如果您希望使用 @TxcTransaction 注解方式接入 GTS,您需要在 GTS 控制台中申请一个 GTS 分组,将这个分组 ID 按照使用要求放到代码中即可。

GTS 的 TPS 数是如何计算的?

一次全局事务会话一般会包含多个分支事务。实例规格中的 TPS,指的是每秒全局事务会话次数加上分支事务次数的峰值。

GTS 中的 TPS 计量的是 GTS 每秒处理的服务请求个数。

服务请求 包括两类:

  • 全局事务开启请求:一个全局事务一个请求。

  • 分支事务注册请求:全局事务是由若干分支事务组成的。全局事务链路中的每一个本地事务都需要注册为全局事务的一个分支。

所以,除了全局事务的个数,全局事务中涉及的本地事务个数,是 GTS 服务规格需求的重要因素。全局事务中包含的本地事务越多,对 GTS 服务规格要求可能越高。

举例

一个全局事务,涉及 3 个微服务(A/B/C)调用。如果每个微服务只做一个本地事务操作,则这个全局事务对 GTS 的服务请求就是:

1(全局事务开启)+ 1(A 的分支事务注册)+ 1(B 的分支事务注册)+ 1(C 的分支事务注册)= 4

如果,上述微服务中的 A 工作在 autocommit=true 的模式下,每一个 DML 操作都是一个本地事务,都要向 GTS 注册分支。比如 A 服务的 DML 操作有 5 个,那么 A 服务向 GTS 注册分支的请求就增加到 5 个,此时,这个全局事务对 GTS 的服务请求就是:

1(全局事务开启)+ 5(A 的分支事务注册)+ 1(B 的分支事务注册)+ 1(C 的分支事务注册)= 8

GTS 是否支持 VPC 私有云部署?

支持,如果需要请提工单申请。

GTS 服务挂掉事务还能正常回滚么?

GTS 的 server 会记录下事务的状态并持久化,即使服务挂掉,在服务重新启动后,事务仍然能够正常回滚。

建表时,列的名称可以使用 SQL 的关键字吗?

不可以,建表时列名不能用 SQL 的关键字,如 DESC、TABLE 等。

GTS 部署会不会太重,客户端都依赖什么?

如果您使用的是注解方式的 GTS,就需要部署 GTS 的 SDK,仅需要在 pom.xml 中加入相关几个依赖就可以,操作简单。在用户手册中,我们已经给出了一个典型的 pom.xml 案例。

我开通的多个云产品能否都加入分布式事务?

能,GTS 具有全链路事务的能力,已经打通了 EDAS、MQ、RDS、MySQL 之间的事务。

服务 A 调用服务 B,服务 A 上加了 GTS 开启事务注解,服务 B 没有注解,那么,A 和 B 是否在同一个分布式事务中?

A 和 B 在一个事务中。在使用 EDAS 服务事务的时候,只要客户端 A 的函数上加入了 GTS 注解,那么这个客户端 A 注解函数下面所有的被调用的服务及其子调用的服务都会加入到这个客户端 A 的事务中。

GTS 的日志记录在哪儿,怎么查看 GTS 日志?

GTS 的事务日志名称为 txcXXXX.log,其中 XXXX 为 GTS 客户端进程的进程号,其路径为:${user.home}/logs/txcXXXX.log,其中 ${user.home} 为启动 GTS 客户端的用户账户的根目录。

查看日志时,可以按照 GTS 的全局事务 ID 去查看这个事务在该客户端都操作了哪些资源,及全局提交和回滚情况如何。

GTS 是否支持多机房高可用?

GTS 支持双机房高可用。当一个机房由于断网、停电等突发状况造成了全机房不可用时,GTS 可以自动切换到备用机房继续提供服务。切换时,原机房正在执行的事务会失败且不能自动保证数据一致,但由于这个切换是瞬间执行的,那个瞬态中正在进行的事务较少,可以提工单申请 GTS 的数据不一致处理工具,帮助将仅有的几个未完成事务手工处理完毕。

运行 sample 样例工程失败,怎么解决?

运行 sample 样例工程失败,报错:

Exception in thread “main” com.taobao.txc.common.b.c: [can’t fetch real group name from diamond!vgroup_mapping_xxx] [10000] [unknown error]

首先,需要确认一下 GTS 事务分组,即报错中的 “xxx” 是否已经审批通过;然后确认一下样例工程是否运行在售卖区 ECS 上,本地环境(非阿里云)暂时不支持直接使用(若有本地开发环境测试特殊需求,请提工单标明开通事务分组的公网测试功能)。