db+Nacos的方式部署高可用集群模式

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: db+Nacos的方式部署高可用集群模式

db+Nacos的方式部署高可用集群模式

环境:


电脑环境:Win10专业版


java : jdk1.8.0


MySQL: 5.7


spring cloud alibaba : 2.2.5.RELEASE


spring boot : 2.3.11.RELEASE


spring cloud : Hoxton.SR8


nacos: 1.4.1


seata: 1.3.0


下载安装:


官方部署指南:https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html


Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。


1,seata下载地址:https://github.com/seata/seata/releases


2,下载后解压此时如果启动使用的是file的方式启动的


Server端存储模式(store.mode)支持三种:

file:(默认)单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高(默认)

db :(5.7+)高可用模式,全局事务会话信息通过db共享,相应性能差些


3,打开安装目录下config/file.conf ,修改mode=“db”,修改数据库连接信息(URL\USERNAME\PASSWORD)


8ce20da76197481e9dc593941801b79e.png


4,创建数据库seata_server,新建表:可以去seata提供的资源信息中下载:


资源目录地址:https://github.com/seata/seata/tree/1.3.0/script


  • client :存放client端sql脚本 (包含 undo_log表) ,参数配置


  • config-center :各个配置中心参数导入脚本,config.txt(包含server和client,原名nacos-config.txt)为通用参数文件


  • server : server端数据库脚本 (包含 lock_table、branch_table 与 global_table) 及各个容器配置


bdc957fe37c24046a70b5f4902c02ad2.png

使用的是mysql数据库所以只需要使用mysql.sql文件。mysql.sql直达

为了方便可以直接把整个文件下载下来方便后面的使用,下载

下载整个文件后把里面的script文件直接放到seata的安装目录下


e0d6bfaa64b6499eb1c9767027a9d95f.png


5,创建表后如下


d7fc9ca4ba984edabc2a8e4d3ca1f264.png

6,配置Nacos注册中心 负责事务操作者(微服务)和TC通讯


Seata安装目录下conf文件夹中,对registry.conf文件进行修改,namespace = ""代表使用默认的命名空间。需要修改注册类型和配置类型以及各自配置中nacos的用户名和密码

adab492e26ac44f19468180167ffa15a.png


7,把config.txt文件(连接直达)复制到本地,并做如下修改。主要修改:store.mode 变量,和数据库连接信息。

d92a553f0e284e53b0aeb490bd949bf4.png


注意:


事务分组: 异地机房停电容错机制,需修改如下配置:my_test_tx_group可以自定义,service.vgroupMapping.my_test_tx_group=default,且需要注意default 必须要等于 registry.confi cluster = “default”


有关详细看官方:https://seata.io/zh-cn/docs/user/txgroup/transaction-group-and-ha.html


8,将第7部中的config.txt配置注册到nacos之中。打开seata-1.3.0\script\config-center\nacos,直接点击nacos-config.sh或nacos-config.bat就会自动注册(因为这里nacos是本地(127.0.0.1所以可以直接点击注册就行)).sh需要安装Git


cae3a5597ddd4bb78410cce8c58615fc.png


9,打开nacos客户端,查看配置是否注册成功


516bdd134f8549219023e02b52147a45.png


10,现在就可以启动服务,安装目录下的bin目录点击seata-server.bat,默认端口8091。

bf7ffc56aa2443a6861ad8ff5cce1b1f.png


linux下启动:


bin/seata-server.sh -h 127.0.0.1 -p 8091 -m db -n 1 -e test


参数如下:


281a7c18eaec47588562d313ac05c956.png


在注册中心中查看服务是否注册成功

b9205559408d4f449707908cb2f925f7.png


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
Kubernetes Nacos 数据库
k8s快速部署nacos单机版
k8s快速部署nacos单机版
|
13天前
|
Kubernetes 关系型数据库 MySQL
k8s部署nacos集群
k8s部署nacos集群
|
1月前
|
应用服务中间件 Nacos 数据库
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
43 1
|
1月前
|
SQL 关系型数据库 MySQL
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
38 1
|
27天前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
34 0
|
27天前
|
Kubernetes Nacos 数据安全/隐私保护
疯了!Nacos 用 Helm 部署开启授权认证频频出错?别急,秘籍在此!
【8月更文挑战第15天】本文指导您通过Helm部署Nacos并开启授权认证,解决途中遇到的问题。首先确认已安装Helm并了解Kubernetes基础。示例`values.yaml`文件启用认证并设置凭据。运行Helm命令完成部署。若认证失败,请复查用户名及密码准确性。面对权限不足错误,可配置权限策略,示例代码展示基于请求头的简单验证逻辑。Nacos启动异常时,利用`kubectl logs`命令分析Pod日志定位问题。遵循本文步骤与示例,助您成功部署并配置Nacos。
36 0
|
1月前
|
关系型数据库 MySQL Nacos
Nacos 1.2.1 集群搭建(一)环境准备
Nacos 1.2.1 集群搭建(一)环境准备
56 0
|
2月前
|
Java Nacos 数据库
使用 nacos 搭建注册中心及配置中心
使用 nacos 搭建注册中心及配置中心
63 5
|
2月前
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
71 3
|
13天前
|
安全 Nacos 数据安全/隐私保护
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
59 8
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置