今天就跟大家聊聊有关seata中怎么利用纳科实现分布式事务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1。需要准备的文件
1) nacos1.3.2
下载地址:
<节>https://github.com/alibaba/nacos/releases节>
2) seata1.3.0:
下载地址:
<节>https://github.com/seata/seata/releases节>
3) seata数据库初始化脚本(seata从0.9版本之后需要单独下载)
下载地址:
,,,,,,,, https://github.com/seata/seata/tree/develop/script/server/db,这里我用的是mysql数据库,这里下载mysql.sql
4) seata配置文件1:config.txt (seata从0.9版本之后需要单独下载)
下载地址:
<节>https://github.com/seata/seata/tree/develop/script/config-center节>
5) seata配置文件2:nacos-config.sh (seata从0.9版本之后需要单独下载)
下载地址:
<节>https://github.com/seata/seata/tree/develop/script/config-center/nacos节>
6) seata事务表undo_log,实现分布式事务的各个微服务对应的数据库,必须要有一张undo_log表,这
里暂时用不到,下篇文章实战中会用的到,
下载地址:(选mysql.sql)
<节>https://github.com/seata/seata/tree/develop/script/client/at/db节>
2. nacos1.3.2安装(win10环境)
1)将nacos-server-1.3.2。解压缩下载解压,压后目录结构如下:
2)纳科默认内置代比数据库,这里修改为mysql,将数据持久化到mysql数据库中,修改配置下的应用程序。属性文件,如下图所示:
3)我这里数据库名称为nacos_config,执行配置下的模式。sql文件对纳科数据库进行初始化,执行完毕后下面有几张表,如下图所示:
4)默认纳科启动时集群模式,这里我修改本目录下的启动。cmd文件,让他默认启动模式为独立的模式,如下图所示:
5)执行执行启动。cmd启动纳科,默认端口是8848年,默认登录用户:纳科,密码:纳科,可看到如下界面,说明纳科安装成功:
3. seata1.3.0安装(win10环境)
1)将seata-server-1.3.0。解压缩下载解压,压后目录结构如下:
2)这里我们将seata数据也持久化到mysql中,新建seata数据库执行上面下载的mysql。sql脚本,生产三张表,如下图所示:
3)修改之目录下的注册表。参看文件,修改后端存储为mysql数据库:
4)修改之目录下的文件。conf文件,将seata注册到nacos中:
这里我整理了一个模板,里面详细说明了各个配置项的含义:
# 注册中心registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa # 如果是file,则需要配置file.conf # 因为本例使用nacos,此处填写nacos type = "nacos" # 【重要】此处是nacos中的服务注册配置 nacos { # 【重要】本服务端在nacos中的微服务名称,后面seata客户端的application.yml中要用到 application = "serverAddr" # nacos地址(默认为8848,笔者此处做了负载均衡改了端口) serverAddr = "127.0.0.1:8848" # seata-server微服务的分组 group = "SEATA_GROUP" # seata-server微服务的命名空间,此处省略,使用默认值public namespace = "" # 【重要】seata-server作为集群时的集群名字,与前面nacos中设定事务分组属性(service.vgroupMapping.my_test_tx_group)保持一致 cluster = "default" # nacos1.2加入了鉴权,账号密码不可省略 username = "nacos" password = "nacos" }}# 配置中心config { # file、nacos 、apollo、zk、consul、etcd3 # 因为本例使用nacos,此处填写nacos type = "nacos" nacos { serverAddr = "127.0.0.1:8848" namespace = "" # 【重要】本服务端的配置在nacos配置列表哪个分组下,要与上面推送到nacos的分组列表保持一致,默认是SEATA_GROUP。 group = "SEATA_GROUP" username = "nacos" password = "nacos" }}seata中怎么利用纳科实现分布式事务