基于AT模式
- 创建undo_log表, 每个库都需要
- http://seata.io/zh-cn/docs/dev/mode/at-mode.html
CREATE TABLE `undo_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `branch_id` bigint(20) NOT NULL, `xid` varchar(100) NOT NULL, `context` varchar(128) NOT NULL, `rollback_info` longblob NOT NULL, `log_status` int(11) NOT NULL, `log_created` datetime NOT NULL, `log_modified` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;Seata下载
- 下载部署Seata的TC服务端
- http://seata.io/zh-cn/blog/download.html
- 我们下载1.3就行,不要下载最新的(除非对新的很有把握不出问题)
- Linux/Mac/Windows服务器安装
- 解压
- 修改jvm内存(默认是2g,防止内存不够)
- ./seata-server.sh 启动,默认是8091端口(记得防火墙开放端口,也可以nohup守护进程启动)
编辑如下位置:
- TC需要存储全局事务和分支事务的记录,支持三种存储模式
- file模式 (默认):性能高, 适合单机模式,在内存中读写,并持久化到本地文件中
- 在 bin/sessionStore/root.data文件
- db模式 :性能较差,适合tc集群模式
- redis模式:性能教高,适合tc集群模式
- file模式 (默认):性能高, 适合单机模式,在内存中读写,并持久化到本地文件中
- 问题:
- seata 在 JDK11下运行报错
- 解决: 下载下来的seata 默认没有存放日志文件的目录, 手动创建seata/logs/seata_gc.log 目录和文件
本文作者为DBC,转载请注明。