GTS全局事务测试-单DRDS跨库事务

全局事务服务GTS是一款高性能、高可靠、接入简单的分布式事务中间件,用于解决分布式环境下的数据一致性问题。DRDS特定SQL使用方式; 不同数据库全局事务一致性测试是使用注解的方式。

1. 
单DRDS跨库事务测试步骤

测试步骤:

1.) 下载样例:

https://help.aliyun.com/document_detail/55548.html?spm=5176.doc55548.6.548.6Asx9b;

测试目录:/root/txc-yun-sample/sample-txc-drds

测试程序

2.) Zxtx_drds库创建表

CREATE
TABLE `account` (

  `cardNum` int(11) NOT NULL,

  `name` varchar(11) DEFAULT NULL,

  `balance` int(11) DEFAULT NULL,

  PRIMARY KEY (`cardNum`)

)
dbpartition by hash(cardNum);

 

-------一般DRDS上是不需要自己下面这张表的,DRDS已高度融合了GTS事务---------

CREATE
TABLE `txc_undo_log` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT
COMMENT '主键',

  `gmt_create` datetime NOT NULL COMMENT '创建时间',

  `gmt_modified` datetime NOT NULL COMMENT '修改时间',

  `xid` varchar(100) NOT NULL COMMENT '全局事务ID',

  `branch_id` bigint(20) NOT NULL COMMENT '分支事务ID',

  `rollback_info` longblob NOT NULL COMMENT
'LOG',

  `status` int(11) NOT NULL COMMENT '状态',

  `server` varchar(32) NOT NULL COMMENT '分支所在DB IP',

  PRIMARY KEY (`id`),

  KEY `unionkey` (`xid`,`branch_id`)

)
ENGINE=InnoDB AUTO_INCREMENT=211225994 DEFAULT CHARSET=utf8 COMMENT='事务日志表';

3.) 数据源配置

数据源:/root/txc-yun-sample/sample-txc-drds/src/main/resources/txc-client-context.xml

4.) 编译程序

 mvn package

 cd client/bin

 chmod +x run.sh

5.) 运行

6.) 检查应用程序日志

时间: 2024-12-01 01:21:15

GTS全局事务测试-单DRDS跨库事务的相关文章

求spring跨库事务注解方式

问题描述 使用mysql库,有一个facade需要操作两个service,这两个service会操作不同的DAO向不同mysql数据库插入记录,我想问一下,通过spring的注解方式如何实现跨库事务配置,在网上搜索了半天没有找到答案,请大神指点,不胜感激. 解决方案 你这属于有多个事务性资源的情况,要使用全局事务管理器,你可以往spring的jta事务管理器方向进行研究解决方案二:去了解下spring的jta事务管理.解决方案三:http://blog.csdn.net/z69183787/ar

跨库事务一致性问题的解决方案(例)

    我们看一个跨库事务一致性的问题,这是一个简单的场景:有新老两个系统,对应新老两套数据库,新数据库采用分库分表的设计,考虑到项目发布之后可能存在风险,采取了新老系统的并行方案.这个系统的业务比较简单:接收来自外部的数据,然后对数据进行核对处理.为了保证新老系统能够并行,在接收数据的时候必须实现双写方案,从而导致了跨库事务的一致性问题.     下面一幅图展示这一简单的场景     这里面会存在一个小问题,就是可能存在写入老库成功,但是写入新库失败的场景.     我们假设出现这种概率的情况

分库分表的几种常见玩法及如何解决跨库查询等问题

在谈论数据库架构和数据库优化的时候,我们经常会听到"分库分表"."分片"."Sharding"-这样的关键词.让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战.让人感到担忧的是,他们系统真的就需要"分库分表"了吗?"分库分表"有那么容易实践吗?为此,笔者整理了分库分表中可能遇到的一些问题,并结合以往经验介绍了对应的解决思路和建议. 垂直分表 垂直分表在日常开

[20170511]DBLINK跨库查询遇到ORA-16000

[20170511]DBLINK跨库查询遇到ORA-16000.txt --//如果在备库通过dblink跨库查询,如果在一个事务查询涉及2个dblink,会遇到ora-16000错误,做一个记录: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- ---------------------

SQL SERVER服务器链接连接(即sql server的跨库连接)

一.如果你要访问的数据库,不在同一个服务器上,那么需要用服务器链接: EXEC sp_addlinkedserver @server='dblink名称', @srvproduct='', @provider='SQLOLEDB', @datasrc='目标服务器地址' GO EXEC sp_addlinkedsrvlogin 'dblink名称', 'false', NULL, '用户名', '密码' GO 小注:         1.上下两部分的'dblink名称'应该是一样的.      

SQL Server 跨库同步数据

原文:SQL Server 跨库同步数据 最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段.  

Access的跨库查询 (图)_漏洞研究

大家还记得mssql的跨库查询吧,其实在access中也可以实现2个数据之间的交叉查询.下面我就给大家介绍下access的跨库查询. 首先让我们看看在access里是怎样实现对mdb文件进行查询的,我们随便创建个空数据库,对数据库D:\daos\db\daidalos.mdb里的admin表的内容进行查询,SQL语句为: javascript:if(this.width>500)this.width=500" border=0> 查询后,成功返回目标数据库里表admin表里的内容:

SQL Server 跨库同步数据_MsSql

最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段. create PROCEDURE [dbo]

php结合ACCESS的跨库查询功能

 问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现. 解决方法: 例如"装材类型"和"装材"两张表是在不同的数据库中的,具体查询方法,如下:   代码如下: @"Select * from 装材类型 as a INNER JOIN [;database=" AppDomain.CurrentDomain.BaseDirectory "