seata 下载


地址为:http://seata.io/en-us/blog/download.html。选择自己的版本下载

本文以1.2.0版本进行说明

解压后的目录结构如下:

Seata入门学习笔记

进入conf目录,如下:

Seata入门学习笔记

 


seata和nacos整合开发分布式

第一步:配置seata的数据库端的数据库

1、获得seata服务端的sql脚本

地址:https://github.com/seata/seata/blob/1.2.0/script/server/db/mysql.sql

拿到脚本后在数据库中执行

第二步:修改服务端启动包的文件

1、启动包: seata-->conf-->file.conf,修改store.mode="db"

2、修改自己的db连接信息。这些信息是存在file.conf当中的也就是seata启动的时候会去读取这个配置文件

file.conf文件作精简后,内容如下:

Seata入门学习笔记

 

我们使用nacos可以把这些信息放到nacos的注册中心,从而实现动态更新。如果你需要把这些信息放到nacos配置中心就需要修改seata-->conf-->registy.conf文件当中的注册中心和配置中心的信息,修改成为nacos。修改的内容如下:

Seata入门学习笔记

为什么需要修改config和register呢?因为如果你的seata服务器想要去配置中心读取配置,那么一定到得把自己注册到nacos。

所以registy.conf当中需要配置注册中心的地址也需要配置配置中心的地址。

这样我们如果后面启动seata就可以看到他是作为了一个nacos的客户端注册到了nacos的注册中心的。

记住这点seata已经可以作为客户端注册到nacos了

第三步:把配置信息上传到Nacos配置中心

1、首先,需要获得一些可以配置的参数信息

地址:https://github.com/seata/seata/blob/1.2.0/script/config-center/config.txt

其中有一些参数是采用默认的配置的,是不需要修改的。为此,我做了精简后,内容如下:

Seata入门学习笔记

注意:这些数据库信息是seata的服务端和客户都要使用的

由于上面我们已经把seata注册到了nacos;所以他的file.conf当中的信息可以直接从nacos读取;也就是下面我们配置的信息;换句话说如果你配置了seata作为nacos的一个客户端去读取配置那么file.conf可以不用配置了;这两步是重复的;这也是网上很多资料没有说明的;换成大白话的意思就是你如果配置了registy.conf那么file.conf当中的信息基本无效——都是从配置中心
读取;甚至可以删了file.conf;你们可以自己测试;如果你不配置registy.conf,那么seata就会从file.conf当中读取配置;所以file.conf和registy.conf其实只需要配置一个;

2、启动nacos


3、上传这些配置信息到nacos配置中心。当然你也可以以手动的方式在nacos的控制台页面上添加,这里就不这样做了,太过麻烦,使用脚本一次上传上云。脚本地址如下:
https://github.com/seata/seata/blob/1.2.0/script/config-center/nacos/nacos-config.sh
把这个文件下到本地后如图:

Seata入门学习笔记

Seata入门学习笔记

 

 

然后,执行脚本

Seata入门学习笔记

上传完成后,在nacos的控制台,就可以看到效果了,如图:

Seata入门学习笔记

 

第四步:启动seata的服务端

进入seata的bin目录,执行seata-server.bat,出现以下界面

Seata入门学习笔记

如图,就说明启动成功了

 

第五步:建立微服务项目,以SpringCloudAlibaba为例

1、现在准备两个工程register-server-consumer和register-server-provider

register-server-consumer工程

Seata入门学习笔记

Seata入门学习笔记

register-server-provider工程

Seata入门学习笔记

Seata入门学习笔记

Seata入门学习笔记

register-server-provider里面的配置如下:

Seata入门学习笔记

 

 

Seata入门学习笔记

2、两个工程里面都需要引入seata的相关的依赖,如图

Seata入门学习笔记

在provider中还需要引入Druid和mybatis的支持

Seata入门学习笔记

3、在每个工程使用的数据源库中,都需要创建一个undo_log表,建表的脚本地址可以参考:

       https://github.com/seata/seata/blob/1.2.0/script/client/at/db/mysql.sql

     product表的结构,如图:

Seata入门学习笔记

4、到此就可以进行分布式事物的测试了。

 

相关文章:

  • 2021-07-30
  • 2021-06-16
  • 2021-11-17
  • 2021-08-11
  • 2021-11-21
  • 2021-07-10
  • 2021-06-14
  • 2021-07-26
猜你喜欢
  • 2021-12-23
  • 2021-06-19
  • 2021-09-08
  • 2021-05-31
  • 2021-08-13
  • 2021-10-19
  • 2021-08-08
相关资源
相似解决方案