Nacos持久化和集群
参考官网:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
官方建议:推荐使用Linux系统。3个或3个以上Nacos节点才能构成集群。使用外置数据源(mysql)。
集群方案如下:
默认的nacos使用嵌入式数据库derby实现数据的存储。所以,如果启动多个默认配置的nacos节点,数据存储存在一致性的问题。为了解决这个问题,Nacos采用了集中式存储的方法来支持集群化部署,目前支持MySQL的存储。
1. nacos切换搭配mysql数据库做持久化
1.创建数据库nacos_config,找到nacos\conf目录下找到nacos-mysql.sql,里面是需要执行的sql脚本
2.修改conf/application.properties中开启mysql持久化
3.测试:
(1)nacos新建配置文件
(2)到mysql查看数据:
2、集群设置(windows测试)
1.为了便于测试,我们复制三份nacos出来,分别改变不同的端口,数据库都连接同一个上面建的库。(修改conf/application.propertoes文件)
端口分别为8848、8849、8850
2.conf目录下新建cluster.conf,参考cluster.conf.example
#2020-10-29T10:27:19.046 172.23.7.79:8848 172.23.7.79:8849 172.23.7.79:8850
3. nacos默认启动是单机模式,需要修改为集群模式:修改bin/startup.cmd
可以看到大概在55行左右使用了该变量,如下:
if %MODE% == "standalone" ( set "JAVA_OPT=%JAVA_OPT% -Xms512m -Xmx512m -Xmn256m" set "JAVA_OPT=%JAVA_OPT% -Dnacos.standalone=true" ) else ( if %EMBEDDED_STORAGE% == "embedded" ( set "JAVA_OPT=%JAVA_OPT% -DembeddedStorage=true" ) set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof" set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages" )
4.启动三个进行测试
分别访问8848、8849、8850端口测试即可
5.访问集群
6.查看节点元数据,如下:(可以看到是主从模式,而且8848为主节点,后面两个为从节点)
3.nainx进行集群转发
1.windows下面下载nginx
2.修改nginx.conf,最后一个大括号内加入如下配置
include vhost/*.conf;
3.cons/vhost/下面新建nacoscluster.conf
server { listen 8851; server_name localhost; location /{ proxy_pass http://cluster; } } upstream cluster { server 127.0.0.1:8848; server 127.0.0.1:8849; server 127.0.0.1:8850; }
4.启动nginx
5.访问测试:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2018-10-28 【docx4j】docx4j操作docx,实现替换内容、转换pdf、html等操作
2017-10-28 linux service命令解析(重要)
2017-10-28 linux运行级别
2017-10-28 linux下reboot和shutdown关机命令详解
2017-10-28 linux可运行的shell脚本与设置开机服务启动(自己总结)
2017-10-28 【shell】shell编程(五)-读取参数
2017-10-28 【shell】shell编程(四)-循环语句