seata server 1.6版本安装及配置

文章目录

  • 下载
  • 安装并启动
    • 数据库
    • 导入数据库
    • 修改配置文件
  • 服务注册
  • 配置中心
    • 手动添加
    • 脚本导入

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

本文将介绍一下在Windows平台seata sever端安装及配置,Linux端基本也差不多。本文使用的seata版本是1.6.1,跟1.5之前的版本会有所不同,注意自己安装的版本。

下载

下载地址seata下载
截止发文前最新版本为1.6.1
seata server 1.6版本安装及配置_第1张图片
找到Assets并点击下载,这里安装的是Windows版本,所以下载.zip压缩包
seata server 1.6版本安装及配置_第2张图片

安装并启动

下载后解压,得到如下目录
seata server 1.6版本安装及配置_第3张图片

然后到bin目录下双击seata-server.bat脚本启动seata,出现如图所示的信息表示启动成功。
seata server 1.6版本安装及配置_第4张图片
也可以访问控制台http://localhost:7091/#/login ,查看是否启动成功。用户名密码都是seata
seata server 1.6版本安装及配置_第5张图片
密码是在conf文件加下的application.yml配置文件中配置的
seata server 1.6版本安装及配置_第6张图片

数据库

seata存储模式有3种,分别为file 、db 、redis, 默认模式是file,但是这种模式不友好,查看数据不方便,所以最好是用db模式。

导入数据库

首先要导入数据库

新建一个数据库,数据库名字可以自定义,我这里数据库名为seata。将seata需要的数据库表导入进去

script\server\db 目录下找到sql文件,我用的是MySQL数据库,所以就导入 mysql.sql
seata server 1.6版本安装及配置_第7张图片
导入之后会有4张表
seata server 1.6版本安装及配置_第8张图片

修改配置文件

application.yml配置文件中,将mode字段值修改为db ,然后配置数据库的信息,比如用户名、密码等,数据库默认是连接池用的是druid
seata server 1.6版本安装及配置_第9张图片

所有的配置信息在 application.example.yml配置文件中, 这里配置的application.yml 配置文件完整信息如下:

seata:
  config:
    # support: nacos 、 consul 、 apollo 、 zk  、 etcd3
    type: file
  registry:
    # support: nacos 、 eureka 、 redis 、 zk  、 consul 、 etcd3 、 sofa
    type: file
  store:
    # support: file 、 db 、 redis
    mode: db
    session:
      mode: db
    lock:
      mode: db
    db:
      datasource: druid
      db-type: mysql
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://127.0.0.1:3306/seata?rewriteBatchedStatements=true
      user: root
      password: sunlong
      min-conn: 10
      max-conn: 100
      global-table: global_table
      branch-table: branch_table
      lock-table: lock_table
      distributed-lock-table: distributed_lock
      query-limit: 1000
      max-wait: 5000

重启seata
seata server 1.6版本安装及配置_第10张图片

服务注册

seata 是处理分布式事务的,既然是这样肯定要注册中注册中心中去。
这里使用nacos作为注册中心,关于nacos的使用和安装可以查看这篇文章 windows系统 安装nacos服务注册与发现中心

找到application.yml 配置文件,找到config,将type属性值修改为nacos,完整的注册中心配置如下,可以按照自己本机的配置修改:

seata:
  config:
    # support: nacos 、 consul 、 apollo 、 zk  、 etcd3
    type: file
  registry:
    # support: nacos 、 eureka 、 redis 、 zk  、 consul 、 etcd3 、 sofa
    type: nacos
    nacos:
      application: seata-server
      server-addr: 127.0.0.1:8848
      group: SEATA_GROUP
      namespace:
      cluster: default
      username:
      password:
      context-path:
      ##if use MSE Nacos with auth, mutex with username/password attribute
      #access-key:
      #secret-key:

重启seata

打开nacos的控制面板,在服务列表中可以看到seata成功注册到nacos中

配置中心

像刚开始那些数据库配置seata都是支持动态修改的,也就是说只要将seata注册中配置中心即可,这里仍然使用nacos作为配置中心。

找到config下面的type,将type修改为nacos,配置如下:

seata:
  config:
    # support: nacos 、 consul 、 apollo 、 zk  、 etcd3
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848
      namespace:
      group: SEATA_GROUP
      username: nacos
      password: nacos
      context-path:
      ##if use MSE Nacos with auth, mutex with username/password attribute
      #access-key:
      #secret-key:
      data-id: seataServer.properties

配置文件修改好后,到seata\script\config-center文件夹下找到config.txt文件,config.txt文件中有seata上传到配置中心的所有参数信息,想知道每个配置都是什么意思,可以 查看官网的 配置文档

可以根据自己的需要上传配置到配置中心,这里只需要如下信息

#Transaction storage configuration, only for the server. The file, db, and redis configuration values are optional.
store.mode=db
store.lock.mode=db
store.session.mode=db

#These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block.
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&rewriteBatchedStatements=true
store.db.user=root
store.db.password=sunlong
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.distributedLockTable=distributed_lock
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000

配置上传到nacos有两种方式,手动添加和通过脚本导入

手动添加

从v1.4.2版本开始,已支持从一个Nacos dataId中获取所有配置信息,你只需要额外添加一个dataId配置项。
在nacos中找到配置管理,新加一个配置,配置如下:
seata server 1.6版本安装及配置_第11张图片
最后点击发布即可。

脚本导入

seata官方提供了脚本供我们导入配置。具体文档在seata\script\config-center文件夹下的 README.md 中,可以查看官网README。

这里就按照文档操作一下导入nacos中,扎到 script\config-center\nacos 文件夹,右键选择 Git Bash Here ,执行如下命令,因为我是本地的,所以地址是 localhost

sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP

seata server 1.6版本安装及配置_第12张图片
上传问打开nacos就可以看到配置信息了
seata server 1.6版本安装及配置_第13张图片

要怎么验证呢,可以把application.yml 配置文件以下信息注释掉,因为指定的是mode是db,如果没有配置数据库信息启动就会报错,重启seata。

如果在导入配置至Nacos前,已启动Seata-Server 和Client(业务侧)应用需要进行重启。

seata server 1.6版本安装及配置_第14张图片

可以看到重启之后seata启动成功,并且DataSource也初始化成功
seata server 1.6版本安装及配置_第15张图片

至此,seata server的安装就完成了

你可能感兴趣的:(Spring,Cloud,Alibaba,seata,seata,server,seata,1.6,分布式事务,TCC)