irpas技术客

Seata入门系列(8)-Nacos 2.0+Seata 1.4.2 集群模式搭建_云烟成雨TD_nacos2.0集群搭建

大大的周 3319

文章目录 安装Nacos 2.0安装MysqlSeata 1.4.2 高可用部署1. 导入数据库脚本2. 注册中心配置3. 配置中心4. 启动集群 集群测试1. 启动项目2. 测试分布式事务3. 负载均衡 总结

安装Nacos 2.0

Nacos2.0.3安装

安装Mysql

Mariadb安装

Seata 1.4.2 高可用部署

seata高可用依赖于注册中心、数据库,可不依赖配置中心。

下载安装包并解压,下载地址。

1. 导入数据库脚本

db模式需要在Mysql数据库中创建global_table, branch_table, lock_table表。

官方脚本

本系列整理中文注释脚本

2. 注册中心配置

Seata-Server 需要使用注册中心,以 Nacos 为例。

更多注册中心支持可参考注册中心。

修改registry.conf的注册中心配置:

registry { type = "nacos" nacos { # seata服务注册在nacos上的别名,客户端通过该别名调用服务 application = "seata-server" # 请根据实际生产环境配置nacos服务的ip和端口 serverAddr = "127.0.0.1:8848" # nacos上指定的namespace namespace = "" cluster = "default" username = "" password = "" } } config { type = "nacos" nacos { # 请根据实际生产环境配置nacos服务的ip和端口 serverAddr = "127.0.0.1:8848" # nacos上指定的namespace namespace = "" group = "SEATA_GROUP" username = "" password = "" # 从v1.4.2版本开始,已支持从一个Nacos dataId中获取所有配置信息,你只需要额外添加一个dataId配置项 dataId: "" } } 3. 配置中心

在第二步中,我们使用了Naocs 作为Seata 的配置中心,更多配置中心支持可参考配置中心。

当然也可不依赖配置中心,但是就需要各个节点的Seata 配置保持一致了。

下载配置脚本地址

修改储存方式为db,配置数据库连接: 相关说明:

# 存储模式 store.mode=db store.db.datasource=druid store.db.dbType=mysql # 需要根据mysql的版本调整driverClassName # mysql8及以上版本对应的driver:com.mysql.cj.jdbc.Driver # mysql8以下版本的driver:com.mysql.jdbc.Driver store.db.driverClassName=com.mysql.cj.jdbc.Driver # 注意根据生产实际情况调整参数host和port store.db.url=jdbc:mysql://127.0.0.1:3306/seata-server?useUnicode=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false # 数据库用户名 store.db.user= # 用户名密码 store.db.password=

找到nacos 初始化配置脚本:

如果是Windows,则需要安装Git,右键打开Git Bash,输入sh nacos-config.sh,导入完成后,可在nacos中查看到所有配置。

4. 启动集群

配置完后,直接启动Seata 即可,这里需要注意设置启动参数,参考文档。

因为测试是在同一台机器,所以这里设置了不同的端口和节点序号。 分别启动三个节点,查看Nacos,发现都注册进来了。

集群测试 1. 启动项目

启动我们之前搭建的三个项目,可以看到后台服务都在各个Seata 节点中注册了自己的RM。

2. 测试分布式事务

发起多个分布式事务请求,可以看到分别分发到了不同的节点

3. 负载均衡

可以看到这里使用的是Nacos 中的权重算法,我们可以在这里配置节点的权重值。

总结


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #nacos20集群搭建 #文章目录