首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nacos:简单易用的配置管理和服务发现注册中心

nacos1、简介

nacos是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。我们可以将nacos作为配置中心和注册中心使用。本篇我们主要讲下nacos的安装、nacos配置管理功能的使用以及如何在springboot中集成nacos配置中心的功能。

2、安装

本次我们以nacos-2.1.1版本为例,可访问下列地址直接下载:

将下载后的nacos-server-2.1.1.zip包解压到合适的目录,比如D:\develop\nacos-2.1.1

进入D:\develop\nacos-2.1.1目录,可以看到解压后的结构如下:

2.2、执行数据库脚本

找到conf/nacos-mysql.sql文件,创建nacos数据库,并在该库下执行nacos-mysql.sql脚本,完成nacos服务数据库的初始化。

2.3、修改配置文件2.3.1、修改application.properties

编辑conf/application.properties文件,放开文件第35、38、41、42和43行的注释,并修改db.url.0、db.user.0和db.password.0配置项的值为上一步中的nacos数据库的连接信息

2.3.1、修改cluster.conf

2.4、启动nacos2.4.1、单机部署

如果我们在本地测试使用,可以只部署单结点的nacos服务,以单机模式启动nacos

2.4.1.1、Linux平台

进入nacos的bin目录执行下述命令启动nacos

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

2.4.1.2、Windows平台

进入nacos的bin目录执行下述命令启动nacos

2.4.2、集群部署

在生产环境,为了保证nacos服务的高可用,我们需要部署nacos集群。至少三个以上的nacos结点才能组成一个集群。同时需要参考2.3.2节完成集群配置文件的修改。

2.4.2.1、Linux平台

针对每个nacos服务,进入bin目录执行下述命令以集群模式启动nacos

2.4.2.2、Windows平台

针对每个nacos服务,进入bin目录执行下述命令以集群模式启动nacos

2.5、关闭nacos2.5.1、Linux平台

执行下述命令关闭nacos

2.5.2、Windows平台执行下述命令关闭nacos

或者直接双击shutdown.cmd关闭

3、使用nacos

3.1、登录nacos服务

如果是本机部署,可以访问下列地址

输入默认的用户名和密码 nacos/nacos,即可登录系统。

如果不是本机部署,可以将127.0.0.1替换为nacos所在服务器的ip。

3.2、新增命名空间

nacos提供命名空间的概念,来帮我们隔离不同环境的配置。我们可以创建名称为dev、test和prod的命名空间,来分别表示开发环境、测试环境和生产环境的配置。nacos默认为我们提供了名为“public”的默认空间,我们先放置不用。

点击左侧"命名空间",新建命名空间如下:

nacos-namespace3.3、新增配置

点击左侧配置管理下面的“配置列表“,右侧页面的上方就展示了我们已经添加的命名空间,比如public、dev和test。我们先点击某个命名空间,比如dev,然后再点击查询列表最右侧的“+”号,表示我们要在dev命名空间下面添加配置。

image-20230508084907078

nacos-newconfig

其中新建配置页面的表单项说明如下:

4、springboot集成nacos配置中心

nacos本身包含配置中心和注册中心的功能,如果我们只把nacos作为配置中心使用,那么我们就只需要集成nacos官方提供的用于springboot应用对接nacos配置中心的sdk包。

本篇我们以springboot 2.7.0版本为例讲解集成nacos配置中心的功能。

4.1、修改pom文件

修改springboot应用的pom文件,添加如下依赖:

4.2、修改application.yml文件

修改springboot应用resources目录下的application.yml(或yaml或properties)文件,新增nacos相关配置,用来读取我们在3.3部分新增的配置信息

4.3、编写代码验证

我们在controller层新增一个接口如下:

访问getSecret接口,可得到如下结果:

nacos-getSecret

而调用getConfig接口,就能根据我们在application.yml中指定的DataId和Group获取到对应的配置。

nacos-getConfig

经过上面两个接口的验证,我们能确定springboot应用已成功集成nacos。

4.4、注意事项4.4.1、版本兼容问题

关于nacos-config-spring-boot-starter的版本和springboot版本的关系,nacos在官网做了如下表述:

但是实际使用中,可能还是会遇到问题。比如我使用springboot2.7.0版本,nacos-config-spring-boot-starter使用0.2.7版本,就会报如下错误:

所以实际使用时,大家还是要结合自己的情况,验证下版本上是否存在兼容问题。

结束语

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230522A01AAE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券