Nacos及Seata简介
Nacos 支持几乎所有主流类型的服务的发现、配置和管理。使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务管理、共享、组合更加容易。
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
一、Nacos安装步骤
1.下载安装包
下载地址 https://github.com/alibaba/nacos/releases
百度网盘 提取码 yt99
2.解压
将安装包上传至服务器,我上传的目录是/soft
,执行命令tar -zxvf nacos-server-2.0.2.tar.gz
[图片上传失败...(image-11293e-1653361429004)]
3.修改相关文件
修改 startup.sh脚本
进入解压后的nacos文件目录下,cd /soft/nacos/bin
进入到bin目录下,执行vim startup.sh
命令
将默认的jdk路径修改为自己服务器安装的jdk的路径
[图片上传失败...(image-9dd306-1653361429004)]
修改 application.properties
cd /soft/nacos/conf
进入到bin目录下,执行vim application.properties
命令
[图片上传失败...(image-37051d-1653361429004)]
4.创建数据库
创建数据库,数据库脚本在源码包有,在 nacos/conf/nacos-mysql.sql,把这个导入到数据中
5.启动
进入 /soft/nacos/bin
执行./startup.sh -m standalone
,然后打开浏览器输入http://ip:端口/nacos
,输入用户名密码:nacos
[图片上传失败...(image-36b385-1653361429004)]
二、Seata安装步骤
1.下载安装包
下载地址 https://github.com/seata/seata/releases
百度网盘 提取码 w7tj
2.解压
将安装包上传至服务器/soft
目录,执行命令tar -zxvf nacos-server-1.3.0.tar.gz
[图片上传失败...(image-672466-1653361429004)]
3.修改相关文件
修改 registry.conf配置文件
进入解压后的nacos文件目录下,cd /seata/conf
进入到conf目录下,执行vim registry.conf
命令
默认为file模式,这里我们改为nacos模式,从注册中心动态获取相关配置
[图片上传失败...(image-f4743b-1653361429004)]
[图片上传失败...(image-4ccf19-1653361429004)]
说明
application 是注册到nacos的seata服务名称,默认即可
serverAddr 是 nacos 服务地址
group 是 seata 在 nacos上注册服务的分组
namespace 是 nacos 命名空间ID(如果使用默认的 public 命名空间,可以注掉这行)
username和password是nacos验证,没有开启就可以注掉
修改file.conf
cd /seata/conf
进入到conf目录下,执行vim file.conf
命令,将 mode 选项值改为 db,配置为你自己的 seata 数据库,这里用的 mysql数据库。
[图片上传失败...(image-d0b90e-1653361429004)]
新建file.conf
4.初始化数据库
创建数据库,运行sql文件
drop table if exists `global_table`;
create table `global_table` (
`xid` varchar(128) not null,
`transaction_id` bigint,
`status` tinyint not null,
`application_id` varchar(32),
`transaction_service_group` varchar(32),
`transaction_name` varchar(128),
`timeout` int,
`begin_time` bigint,
`application_data` varchar(2000),
`gmt_create` datetime,
`gmt_modified` datetime,
primary key (`xid`),
key `idx_gmt_modified_status` (`gmt_modified`, `status`),
key `idx_transaction_id` (`transaction_id`)
);
-- the table to store BranchSession data
drop table if exists `branch_table`;
create table `branch_table` (
`branch_id` bigint not null,
`xid` varchar(128) not null,
`transaction_id` bigint ,
`resource_group_id` varchar(32),
`resource_id` varchar(256) ,
`lock_key` varchar(128) ,
`branch_type` varchar(8) ,
`status` tinyint,
`client_id` varchar(64),
`application_data` varchar(2000),
`gmt_create` datetime,
`gmt_modified` datetime,
primary key (`branch_id`),
key `idx_xid` (`xid`)
);
-- the table to store lock data
drop table if exists `lock_table`;
create table `lock_table` (
`row_key` varchar(128) not null,
`xid` varchar(96),
`transaction_id` long ,
`branch_id` long,
`resource_id` varchar(256) ,
`table_name` varchar(32) ,
`pk` varchar(36) ,
`gmt_create` datetime ,
`gmt_modified` datetime,
primary key(`row_key`)
);
5.启动
进入 /soft/seata/bin
执行./seata-server.sh
,启动seata-server服务,打开nacos查看是否成功启动
[图片上传失败...(image-25365d-1653361429004)]
后台启动nohup sh seata-server.sh > ./seata.log 2>&1 &