通过本教程的前两篇:
- 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》
- 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)》
我们已经学会了,如何利用Nacos实现服务的注册与发现。同时,也介绍了在Spring Cloud中,我们可以使用的几种不同编码风格的服务消费方式。接下来,我们再来一起学习一下Nacos的另外一个重要能力:配置管理。
Nacos除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个架构体系内的所有配置都集中在Nacos中存储。这样做的好处,在以往的教程中介绍Spring Cloud Config时也有提到,主要有以下几点:
- 分离的多环境配置,可以更灵活的管理权限,安全性更高
- 应用程序的打包更为纯粹,以实现一次打包,多处运行的特点(《云原声应用的12要素》之一)
Nacos的配置管理模型与淘宝开源的配置中心Diamond类似,基础层面都通过和来定位配置内容,除此之外还增加了很多其他的管理功能。
下面我们通过一个简单的例子来介绍如何在Nacos中创建配置内容以及如何在Spring Cloud应用中加载Nacos的配置信息。
第一步:进入Nacos的控制页面,在配置列表功能页面中,点击右上角的“+”按钮,进入“新建配置”页面,如下图填写内容:
其中:
- :填入
- :不修改,使用默认值
- :选择
- :应用要加载的配置内容,这里仅作为示例,做简单配置,比如:
第一步:创建一个Spring Boot应用,可以命名为:。
第二步:编辑,加入必要的依赖配置,比如:
讯享网
上述内容主要三部分:
- :定义spring boot的版本
- :spring cloud的版本以及spring cloud alibaba的版本,由于spring cloud alibaba还未纳入spring cloud的主版本管理中,所以需要自己加入
- :当前应用要使用的依赖内容。这里主要新加入了Nacos的配置客户端模块:。由于在中已经引入了版本,所以这里就不用指定具体版本了。
可以看到,这个例子中并没有加入nacos的服务发现模块,所以这两个内容是完全可以独立使用的
第三步:创建应用主类,并实现一个HTTP接口:
讯享网
内容非常简单,定义是个Spring Boot应用;还定义了一个Controller,其中通过注解,注入了key为的配置(默认为空字符串),这个配置会通过接口返回,后续我们会通过这个接口来验证Nacos中配置的加载。另外,这里还有一个比较重要的注解,主要用来让这个类下的配置内容支持动态刷新,也就是当我们的应用启动之后,修改了Nacos中的配置内容之后,这里也会马上生效。
第四步:创建配置文件,并配置服务名称和Nacos地址
注意:这里必须使用。同时,值必须与上一阶段Nacos中创建的配置Data Id匹配(除了.properties或者.yaml后缀)。
第五步:启动上面创建的应用。
讯享网
在启动的时候,我们可以看到类似上面的日志信息,这里会输出应用程序要从Nacos中获取配置的dataId和group。如果在启动之后,发现配置信息没有获取到的时候,可以先从这里着手,看看配置加载的目标是否正确。
第六步:验证配置获取和验证动态刷新
用curl或者postman等工具,访问接口: ,一切正常的话,将返回Nacos中配置的。然后,再通过Nacos页面,修改这个内容,点击发布之后,再访问接口,可以看到返回结果变了。
同时,在应用的客户端,我们还能看到如下日志:
在Nacos中修改了Key,在用到这个配置的应用中,也自动刷新了这个配置信息。
- Nacos官方文档
- Nacos源码分析
本文示例读者可以通过查看下面仓库的中的项目:
- Github:https://github.com/dyc87112/SpringCloud-Learning/
- Gitee:https://gitee.com/didispace/SpringCloud-Learning/
如果您对这些感兴趣,欢迎star、follow、收藏、转发给予支持!
- Spring Boot基础教程
- Spring Cloud基础教程


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189590.html