Linux安装和部署Nacos配置中心及Seata分布式事务

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 &

你可能感兴趣的:(Linux安装和部署Nacos配置中心及Seata分布式事务)