nacos配置

本文详细介绍了Nacos的服务配置数据模型,包括命名空间、Group和DataId的概念及其应用场景。此外,讲解了Nacos数据持久化到MySQL的步骤,并提供了配置示例。最后,阐述了Nacos集群部署的具体步骤,包括集群配置文件和集群连接方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nacos 配置

一、Nacos服务配置数据模型
1.1 命名空间

​ 用于配置隔离,不同命名空间下,可以存在相同的Group或Data ID配置,Namespace的常用场景之一是不同环境的配置进行区分隔离,例如开发环境、测试环境和生产环境的资源(如配置、服务)隔离等

1.2 Group

​ Nacos中的一组配置集合,是组织配置的维度之一,通过一个有意义的字符串(如 Buy 或 Trade)对一组配置集合进行分组,从而区分Data ID相同的配置集合,当在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP,配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url配置和MQ_topic配置

1.3 Data Id

​ Nacos中的某个配置集合的ID,配置集合ID是组织划分配置的维度之一,Data ID通常用于组织划分系统的配置集合,一个系统或者应用可以包含多个配置集合,每个配置集都可以被一个有意义的名称标识
在这里插入图片描述

1.4 配置方案
1.4.1 方案一

​ 默认命名空间(public) + 默认Group分组(DEFAULT_GROUP) + 自定义Data Id(没有默认值)

默认命名空间:public
默认Group:DEFAULT_GROUP
自定义Data Id:
${spring.application.name}-${profile}.${file-extension:properties}
比如:nacos-config-dev.yaml
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEFAULT_GROUP
spring.profiles.active=dev
1.4.2 方案二

​ 默认命名空间 + 自定义Group分组 + 自定义的Data Id(没有默认值)

默认命名空间:public
默认Group:DEV_GROUP
自定义Data Id:
${spring.application.name}-${profile}.${file-extension:properties}
比如:nacos-config-dev.yaml
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP
spring.profiles.active=dev
1.4.3 方案三

​ 自定义命名空间 + 自定义Group分组 + 自定义的Data Id(没有默认值)

默认命名空间:dev
默认Group:DEV_GROUP
自定义Data Id:
${spring.application.name}-${profile}.${file-extension:properties}
比如:nacos-config-dev.yaml
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP
spring.profiles.active=dev
spring.cloud.nacos.discovery.namespace=3dba4b54-7395-4cd0-8026-1dc62f353f09
二、Nacos数据持久化

​ Nacos默认情况下是采用 apache derby 内嵌数据库进行数据存储,在单机模式时可以使用nacos嵌入式数据库实现数据存储,但是derby数据库不方便观察数据存储的基本情况,从 nacos 0.7 版本开始增加了支持mysql数据源能力;

2.1 操作步骤
2.1.1 启动数据库

安装数据库

service mysql start
mysql -uroot -padmin
2.1.2 数据库文件

​ 初始化MySQL数据库,数据库初始化文件: nacos-mysql.sql,该文件可以在Nacos程序包下的 conf目录下获得;

2.1.3 application.properties 文件

​ 修改 conf/application.properties 文件,增加支持MySQL数据源配置,添加(目前只支持mysql)数据源的url、用户名和密码

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=admin

​ 然后启动nacos(还是单机启动),此时发现nacos所有写嵌入式数据库的数据都写到了mysql

三、Ncaos集群部署
3.1 具体步骤

1、准备三个nacos,3个或3个以上Nacos节点才能构成集群;

2、在Nacos的conf目录下有一个 cluster.conf.example,可以直接把 example 扩展名去掉来使用,也可以单独创建一个 cluster.conf 文件,然后在该文件中每行配置一个ip:port;

192.168.106.128:8848
192.168.106.129:8848
192.168.106.130:8848

3、按照上面nacos持久化的方式配置好数据持久化到MySQL,生产使用建议至少主备模式,或者采用高可用数据库

4、启动测试;

3.2 集群连接

第一种:可以在单机的基础上加多个IP和端口中间用逗号隔开

spring.cloud.nacos.discovery.server-addr=192.168.106.128:8848,192.168.106.129:8848,192.168.106.130:8848

第二种:配合 Nginx 代理我们的 Nacos 集群,配置里就直接写 Nginx 的 IP和端口即可;

upstream nacos {
	server 192.168.106.128:8848;
    server 192.168.106.129:8848;
    server 192.168.106.130:8848;
}

location /nacos {
	proxy_pass http://nacos;		# 代理的端口
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值