Nacos系列之(五)Nacos集群和持久化配置
Nacos集群和持久化配置🔥🔥🔥
Nacos默认情况下使用的是内置的Derby数据库,持久化配置是指将存储数据使用的Derby数据库改为我们自己的数据库,目前仅支持MySQL。
1. 官网说明
官网:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
2. Linux版Nacos+MySQL生产环境配置
2.1 环境说明
1个nginx+3个nacos注册中心+1个mysql
注:3个或3个以上Nacos节点才能构成集群
这里的Linux使用的是虚拟机
参考2.2.2.1 Linux
,安装Nacos
参考Linux常用软件管理.md,安装Mysql 5.7和Nginx
2.2 MySQL配置
登录Mysql
create database nacos_config;
-- 执行nacos提供的sql脚本初始化所需的表结构
source /root/program/nacos/conf/nacos-mysql.sql
初始化后的表结构如下
2.3 Nacos配置application.properties
备份nacos的配置文件
cp /root/program/nacos/conf/application.properties /root/program/nacos/conf/application.properties_bank
修改application.properties配置文件,在底部加入
##################################################
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=rootroot
2.4 Nacos配置cluster.conf
我们这里只用一台虚拟机模拟三台机器,通过端口进行区分,端口分别是3333,4444,5555
Nacos集群真正使用的配置文件是cluster.conf
,安装包中给我们提供了cluster.conf.example
,我们需要配置出cluster.conf
cp cluster.conf.example cluster.conf
修改cluster.conf
配置文件的内容如下
192.168.59.128:3333
192.168.59.128:4444
192.168.59.128:5555
注:192.168.59.128为机器的IP,可通过ifconfig或hostname -i进行查看
2.5 Nacos配置startup.sh
编辑Nacos的启动脚本startup.sh,使它能够接受以不同的端口启动
# 备份startup.sh
cp startup.sh startup.sh_bank
修改startup.sh
注:上图结尾的参数是-Dserver.port=${PORT}
# 以不同的端口启动
startup.sh -m standalone -p 3333
startup.sh -m standalone -p 4444
startup.sh -m standalone -p 5555
2.6 Nginx配置
Nginx的配置,由它作为负载均衡器
备份Nginx配置文件
cp nginx.conf nginx.conf_bank
修改nginx.conf
2.7 测试
启动Nacos集群
# 默认以集群方式启动
startup.sh -p 3333
startup.sh -p 4444
startup.sh -p 5555
查看是否启动成功
ps -ef | grep nacos | grep -v grep | wc -l
启动Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看是否启动成功
访问http://192.168.59.128:1111/nacos/,出现登录界面
检验持久化配置是否成功
查看数据库中Nacos的数据
在Nacos中增加一条配置
再次查看数据库中Nacos的数据
至此,Nacos集群及持久化配置完成。
2.8 将微服务注册到Nacos集群
微服务cloudalibaba-provider-payment9002启动注册进nacos集群
修改yaml,更换Nacos地址
server:
port: 9002
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: 192.168.59.128:1111 #配置Nacos地址
management:
endpoints:
web:
exposure:
include: '*'
启动cloudalibaba-provider-payment9002后报错
停止Nacos集群
修改startup.sh,加入如下内容
JAVA_OPT="${JAVA_OPT} -Dnacos.server.ip=192.168.59.128"
参考网站:https://blog.csdn.net/Kermit_father/article/details/105333174
启动Nacos集群
启动cloudalibaba-provider-payment9002
成功注册到集群
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?