1.下载对应版本的nacos,先启动nacos
建议在nacos新建一个namespace命名空间
2.下载seata,下载路径:https://github.com/apache/incubator-seata/releases
使用文档路径:https://seata.apache.org/zh-cn/docs/user/quickstart/
创建seata数据库,表语句在script\server\db目录,若没有,可在官网找https://github.com/apache/incubator-seata/tree/2.x/script/server/db
重点,每个业务表中添加UNDO_LOG 表:可选择对应seata版本https://github.com/apache/incubator-seata/tree/2.x/script/client/at/db
CREATE TABLE IF NOT EXISTS `undo_log`
(
`branch_id` BIGINT NOT NULL COMMENT 'branch transaction id',
`xid` VARCHAR(128) NOT NULL COMMENT 'global transaction id',
`context` VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',
`rollback_info` LONGBLOB NOT NULL COMMENT 'rollback info',
`log_status` INT(11) NOT NULL COMMENT '0:normal status,1:defense status',
`log_created` DATETIME(6) NOT NULL COMMENT 'create datetime',
`log_modified` DATETIME(6) NOT NULL COMMENT 'modify datetime',
UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`)
) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COMMENT ='AT transaction mode undo table';
ALTER TABLE `undo_log` ADD INDEX `ix_log_created` (`log_created`);
3.修改conf/application.yml
seata:
config:
# support: nacos, consul, apollo, zk, etcd3
type: nacos
registry:
# support: nacos, eureka, redis, zk, consul, etcd3, sofa
type: nacos
store:
# support: file 、 db 、 redis
mode: nacos