2SEATA Server部署 · SpringCloud微服务实战 · 看云
导航
1. Seata 部署包下载
因在演示的时候使用的spring-cloud-alibaba版本是2.2.0.RELEASE,里面所用的seata版本是1.0.0,因此我们需要下载seata 1.0.0 的版本。
解压后如下:
2. Server端配置修改
Server端存储模式(store.mode)现有file、db两种(后续将引入raft),file模式无需改动,直接启动即可,下面专门讲下db启动步骤。
注:
file模式为单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高;
db模式为高可用模式,全局事务会话信息通过db共享,相应性能差些。
2.1 修改conf目录下的file.conf配置文件
这里我们演示使用db模式,并且修改了组名
2.2 创建数据库fw_seata
然后执行以下脚本,以下3张表示Seata Server 必须的
-- the table to store GlobalSession data
CREATE TABLE IF NOT EXISTS `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`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(
`branch_id` BIGINT NOT NULL,
`xid` VARCHAR(128) NOT NULL,
`transaction_id` BIGINT,
`resource_group_id` VARCHAR(32),
`resource_id` VARCHAR(256),
`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`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(
`row_key` VARCHAR(128) NOT NULL,
`xid` VARCHAR(96),
`transaction_id` BIGINT,
`branch_id` BIGINT NOT NULL,
`resource_id` VARCHAR(256),
`table_name` VARCHAR(32),
`pk` VARCHAR(36),
`gmt_create` DATETIME,
`gmt_modified` DATETIME,
PRIMARY KEY (`row_key`),
KEY `idx_branch_id` (`branch_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
2.2 修改conf目录下的registry.conf
修改nacos 的注册中心为nacos,并且修改正确的nacos地址(先将nacos 启动起来),其它配置默认即可
2.3 Seata Server 启动
进入bin目录,window 下的话双击bat 文件即可,Linux 环境下 执行sh 文件即可
到nacos 中可以看到注册了一个服务上来
可以看到如下图所示:
到此,说明Seata Server 已经部署成功





