Spring cloud alibaba seata 分布式事务控制的部署安装
官网seata.io
中文下载中心http://seata.io/zh-cn/blog/download.html
到现在最新版本的1.4.2
我下载了前几个版本0.9的 1.2的还有1.4的发现这几个版本的变化还是挺大的主要变化的是conf目录
0.9版本conf目录(已经有过配置,请忽略副本)
1.2版本conf目录
1.4conf目录
因为最新版本已经到1.4了,所以我们来配置最新的
首先打开file.conf文件
找到store下的model 这个配置是用于配置存储方式的,在0.9版本是没有redis的
我们将此配置为db
mode = "db"
第二步既然我们配置成db那么,数据源,这些东西肯定是少不了的
在此之前我们在看一下lib目录下的jdbc目录,1.4版本是自带mysql8.0和5.0的而0.9是只带5.0的jar包,除了用到MySQL的数据库,需要用到其他的数据库的话,就需要自行复制粘贴jar包到此目录下
在db下配置数据源
注意MySQL8.0的driverClassName是有cj的
5.0的是没有的
然后在对应的连接中创建数据库,然后在创建三个表
-- the table to store GlobalSession data
drop table if exists `global_table`;
create table `global_table` (
`xid` varchar(128) not null,
`transaction_id` bigint,
`status` tinyint not null,
`application_id` varchar(32),
`transaction_service_group` varchar(32),
`transaction_name` varchar(128),
`timeout` int,
`begin_time` bigint,
`application_data` varchar(2000),
`gmt_create` datetime,
`gmt_modified` datetime,
primary key (`xid`),
key `idx_gmt_modified_status` (`gmt_modified`, `status`),
key `idx_transaction_id` (`transaction_id`)
);
-- the table to store BranchSession data
drop table if exists `branch_table`;
create table `branch_table` (
`branch_id` bigint not null,
`xid` varchar(128) not null,
`transaction_id` bigint ,
`resource_group_id` varchar(32),
`resource_id` varchar(256) ,
`lock_key` varchar(128) ,
`branch_type` varchar(8) ,
`status` tinyint,
`client_id` varchar(64),
`application_data` varchar(2000),
`gmt_create` datetime,
`gmt_modified` datetime,
primary key (`branch_id`),
key `idx_xid` (`xid`)
);
-- the table to store lock data
drop table if exists `lock_table`;
create table `lock_table` (
`row_key` varchar(128) not null,
`xid` varchar(96),
`transaction_id` long ,
`branch_id` long,
`resource_id` varchar(256) ,
`table_name` varchar(32) ,
`pk` varchar(36) ,
`gmt_create` datetime ,
`gmt_modified` datetime,
primary key(`row_key`)
);
这个表是我在0.96版本找的,1.4好像可以自己创建表的,但是我报出了一个线程异常错误,索性就自己创建了。
配置完file.conf后我们配置registry.conf文件这个文件主要是配置服务注册中心的
这里的type选择你需要的服务注册中心,然后配置响应的数据就可以了,我是配置的nacos
配置完成以后就在bin目录下双击seata-server.bat就可以运行了
打开nacos的服务列表看到
服务已经注册上了