升级Seata Server 1.5.2
创始人
2024-03-17 12:32:34

目录

    • 引言
    • 下载地址
    • 配置
    • 初始Mysql数据库
    • 支持TCC Fence

引言

最近在做Seata TCC集成,集成过程中将Seata Server由原来的1.4.2升级为最新的1.5.2,本文记录了Seata 1.5的升级过程。

原Seata 1.4.2的安装过程可参见我之前的博客:
分布式事务 - Seata - AT入门 => 二、启动Seata Server(TC)

下载地址

下载地址:https://github.com/seata/seata/releases/tag/v1.5.2
在这里插入图片描述

配置

解压后可以发现原来的conf/registry.conf配置文件没有了,可直接修改application.yml进行配置。
在这里插入图片描述

application.yml配置内容也类似原registry.conf,主要包括如下两方面配置:

  • Seata使用的配置中心(支持file, nacos, consul, apollo, zk, etcd3)
  • Seata使用的服务注册中心(支持file, nacos, eureka, redis, zk, consul, etcd3, sofa)

同样以配置中心、注册中心使用Nacos,store.mode=db(mysql)为例,给出application.yml示例配置如下:

server:port: 7091spring:application:name: seata-server
# 日志配置
logging:config: classpath:logback-spring.xmlfile:path: ${user.home}/logs/seata# 不外接日志,故如下配置可暂不考虑extend:logstash-appender:destination: 127.0.0.1:4560kafka-appender:bootstrap-servers: 127.0.0.1:9092topic: logback_to_logstash
# 新增加的console控制台,
# 可通过访问http://localhost:7091进行登录,账号如下seata/seata
console:user:username: seatapassword: seataseata:# Seata接入Nacos配置中心config:# support: file, nacos, consul, apollo, zk, etcd3type: nacosnacos:server-addr: 127.0.0.1:8848namespace: luo-devgroup: SEATA_GROUPusername: nacospassword: nacos##if use MSE Nacos with auth, mutex with username/password attribute#access-key: ""#secret-key: ""data-id: seataServer.properties# Seata接入Nacos服务注册中心registry:# support: file, nacos, eureka, redis, zk, consul, etcd3, sofatype: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: SEATA_GROUPnamespace: luo-devcluster: defaultusername: nacospassword: nacos##if use MSE Nacos with auth, mutex with username/password attribute#access-key: ""#secret-key: ""# 此处可不必配置,由于接入了nacos配置,以下store相关配置可直接通过seataServer.properties进行配置# store:# support: file 、 db 、 redis# mode: db
#  server:
#    service-port: 8091 #If not configured, the default is '${server.port} + 1000'security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login

上述配置中的使用的Nacos配置seataServer.properties,原始内容参见:
1.5.2/script/config-center/config.txt
具体的调整可参见我之前的博客:
分布式事务 - Seata - AT入门 => 二、启动Seata Server(TC) => (5)导入初始配置到nacos

初始Mysql数据库

从Seata1.4升级到1.5,数据库脚本有变化,以mysql为例:
1.4 msyql脚本:1.4.2/script/server/db/mysql.sql
1.5 mysql脚本:1.5.2/script/server/db/mysql.sql
相较于1.4版本,1.5版本mysql脚本主要调整如下:
新增加了distributed_lock表,
原有的lock_table表新增加了status列,
且由1.4的utf8编码调整为1.5的utf8mb4编码。

切记升级前使用新版本的数据库脚本初始化数据库。

支持TCC Fence

Seata1.5版本后解决了TCC模式下的幂等、空回滚、悬挂的问题,
若需支持此特性,还需在各自服务的业务数据库中额外导入表tcc-fence-log

CREATE TABLE IF NOT EXISTS `tcc_fence_log`
(`xid`           VARCHAR(128)  NOT NULL COMMENT 'global id',`branch_id`     BIGINT        NOT NULL COMMENT 'branch id',`action_name`   VARCHAR(64)   NOT NULL COMMENT 'action name',`status`        TINYINT       NOT NULL COMMENT 'status(tried:1;committed:2;rollbacked:3;suspended:4)',`gmt_create`    DATETIME(3)   NOT NULL COMMENT 'create time',`gmt_modified`  DATETIME(3)   NOT NULL COMMENT 'update time',PRIMARY KEY (`xid`, `branch_id`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_status` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4;

注: Seata 1.5解决TCC幂等、悬挂、空回滚问题可参见:
阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题

做完以上调整后,可直接通过/bin/seata-server.bat|sh进行启动。

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...