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

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 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
相关文章
|
9天前
|
应用服务中间件 Nacos 数据库
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
22 1
|
9天前
|
SQL 关系型数据库 MySQL
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
26 1
|
5天前
|
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版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
15 0
|
5天前
|
Kubernetes Nacos 数据安全/隐私保护
疯了!Nacos 用 Helm 部署开启授权认证频频出错?别急,秘籍在此!
【8月更文挑战第15天】本文指导您通过Helm部署Nacos并开启授权认证,解决途中遇到的问题。首先确认已安装Helm并了解Kubernetes基础。示例`values.yaml`文件启用认证并设置凭据。运行Helm命令完成部署。若认证失败,请复查用户名及密码准确性。面对权限不足错误,可配置权限策略,示例代码展示基于请求头的简单验证逻辑。Nacos启动异常时,利用`kubectl logs`命令分析Pod日志定位问题。遵循本文步骤与示例,助您成功部署并配置Nacos。
10 0
|
9天前
|
关系型数据库 MySQL Nacos
Nacos 1.2.1 集群搭建(一)环境准备
Nacos 1.2.1 集群搭建(一)环境准备
29 0
|
1月前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
23天前
|
Java Nacos 数据库
使用 nacos 搭建注册中心及配置中心
使用 nacos 搭建注册中心及配置中心
47 5
|
23天前
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
56 3
|
4天前
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
5天前
|
缓存 Cloud Native Java
【紧急救援】Nacos配置上线后失效?手把手教你如何轻松搞定命名空间修改难题!
【8月更文挑战第15天】Nacos是关键的云原生服务管理平台,用于动态服务发现与配置管理。但在使用其管理微服务配置时,可能会遇到命名空间内的配置更新后不生效的问题。本文探讨此问题并提供解决方案。首先需确认Nacos服务器运行正常及客户端正确连接。接着检查客户端缓存配置,可通过禁用缓存或缩短缓存间隔来即时更新配置。例如,在Spring Cloud Alibaba Nacos配置中心中启用自动刷新功能,并设置每5秒拉取新配置。同时,对于新增配置项,需重启客户端应用。还需检查Nacos服务器日志排除异常,并考虑升级Nacos版本解决兼容性问题。通过这些步骤,通常可有效解决配置不生效的难题。
16 0