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版本,就会报如下错误:
所以实际使用时,大家还是要结合自己的情况,验证下版本上是否存在兼容问题。
结束语
领取专属 10元无门槛券
私享最新 技术干货