Nacos配置(集群和持久化配置)

Nacos配置(集群和持久化配置)

Nacos的部署模式

https://nacos.io/zh-cn/docs/deployment.html

Nacos支持三种部署模式:

  1. 单机模式,用于测试和单机试用,我们之前使用的就是单机模式启动。
  2. 集群模式,用于生产环境,确保高可用。
  3. 多集群模式,用于多数据中心场景。

Nacos集群部署说明

https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

Nacos的集群部署架构图如下:

此处的VIP是虚拟映射IP,可以由Nginx实现。

默认nacos使用嵌入式的数据库实现数据的存储,所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。

集群配置

2.1、配置集群配置文件
在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)

首先我们进入conf目录下,默认只有一个cluster.conf.example文件,我们需要自行复制一份,修改名称为cluster.conf

cd /usr/local/nacos/config
cp cluster.conf.example cluster.conf

然后使用vi编辑器 打开cluster.config,按a/i/o 键可进入插入模式,输入以下内容

ip:port

68.54.243.17:3333
68.54.243.17:4444
68.54.243.17:5555
然后按ESC键返回到命令模式,再按shif+:进入末行模式,输入wq敲回车(保存并退出)。

初始化mysql
没有可视化界面的Linux我们不便操作,所以对mysql的操作,我在windows下使用navicat连接到之前在linux中安装的mysql再进行操作

注:需要对linux进行联网和mysql远程连接授权,再放行我们所需的端口(图方便的伙伴在练习的时候可直接关闭防火墙)

新建一个名为nacos_config的数据库,执行下面的sql脚本文件。

nacos\conf目录下:

配置application.properties
这里的配置文件路径同1.3

添加持久化配置

application.properties文件中

#server.tomcat.basedir=

db.num=1
db.url.0=jdbc:mysql://10.51.10.128:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

修改启动文件

启动服务
三台linux机都输入以下命令启动nacos server服务

startup.sh

如果使用一台服务器可以修改启动文件

单机模式支持mysql持久化

在单机模式下,0.7版本之前,默认nacos使用嵌入式的数据库derby实现数据的存储,不方便观察数据存储的基本情况。

0.7版本增加了支持mysql数据源能力,具体的操作步骤:

一、安装数据库,版本要求:5.6.5+。

二、初始化mysql数据库,数据库初始化文件:conf/nacos-mysql.sql。执行这个脚本之前,需要按照脚本中的提示,创建指定的数据库。

/******************************************/
/*   数据库全名 = nacos_config   */
/******************************************/

三、修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。只要把properties中的注释打开就可以了。

测试一下,新建一个配置,在config_info就将存入一条记录。

posted on   Chase_Hanky  阅读(1467)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示