本文主要介绍如何在Spring Cloud应用中集成MSE Nacos配置中心,实现配置的统一管理和动态刷新。
背景信息
在微服务架构中,传统的硬编码或静态配置文件的管理方式,会因为微服务实例众多且跨多环境部署(如开发、测试、生产等),导致配置不一致、更新不及时等问题。引入配置中心可以有效地解决这些问题,实现配置信息的集中存储、统一管理和动态调整,确保不同环境和实例之间的配置隔离与同步,同时提高配置更新的灵活性和安全性。
前提条件
下载Maven并设置Maven环境变量。
已有Spring Cloud应用。如果您没有合适的Spring Cloud应用,可以使用本示例提供的demo:nacos-service-config.zip。
- 重要
如果您的应用与MSE Nacos不在同一地域或不在阿里云服务器上,在创建Nacos引擎时您需要选择公网网络。
为确保您所搭建的应用可正常通过公网访问MSE ,您需要配置白名单。具体操作,请参见设置白名单。
方案概览
通过在Spring Cloud应用中集成MSE Nacos配置中心,前后两次在MSE Nacos控制台发布配置参数useLocalCache=true
、useLocalCache=false
,并通过命令行终端请求应用中相关配置接口获取useLocalCache
值,根据两次请求结果,帮助您体验MSE Nacos配置中心的动态刷新功能。
创建并发布配置:通过控制台新建一个配置并发布。
集成MSE Nacos:通过简单的代码示例搭建 Spring Cloud 应用,展示如何通过MSE Nacos配置中心来管理应用的配置。
验证动态刷新:通过在控制台编辑配置内容,动态变更服务的配置。
步骤一:创建并发布配置
登录MSE注册配置中心管理控制台,并在顶部菜单栏选择地域。
单击目标实例名称。
在左侧导航栏,选择
。在配置列表上方选择您创建的命名空间。
单击创建配置,在创建配置面板中填写如下配置信息:
说明本文仅提供配置内容的示例参考,您可以根据业务需要创建相关配置,关于配置参数的详细说明,请参考创建配置。
配置完成后单击发布,您可以在配置列表中找到新建的配置。
步骤二:集成MSE Nacos
(可选)若您尚未构建Spring Cloud应用,可以参照本示例来帮助您快速搭建一个简单应用。
在Spring Cloud应用的pom.xml文件中添加Nacos配置中心依赖:
说明下述依赖版本仅供参考,您可以根据自身应用所依赖的Spring Boot和Spring Cloud版本选择兼容的Nacos配置中心依赖版本。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2021.0.4.0</version> </dependency>
在Spring Cloud应用的配置文件中添加Nacos相关配置,配置内容如下:
重要当您在应用中需要配置指定的 namespace 时,填入的是命名空间ID。
# 您的Nacos服务器的地址 spring.cloud.nacos.config.server-addr=mse-XXX.nacos-ans.mse.aliyuncs.com:8848 # 默认组名 spring.cloud.nacos.config.group=DEFAULT_GROUP # 文件扩展名,默认为properties spring.cloud.nacos.config.file-extension=properties # 指定MSE Nacos命名空间, 当访问public默认命名空间时设置为空值或者不配置此项。 spring.cloud.nacos.config.namespace=24075300-XXXX-XXXX-XXXX-0c17aa9f744b # 导入特定的配置文件 spring.config.import=nacos:mse-nacos-config-client.properties?group=DEFAULT_GROUP&refreshEnabled=true
在实例列表页面,可以查看MSE Nacos的外网访问地址,格式为
mse.XX.nacos.mse.aliyuncs.com
。修改后,您需要通过
mvn clean package
命令重新编译打包。
步骤三:验证动态刷新
以下验证操作是基于本文提供的Spring Cloud应用示例和配置示例进行的,如果您使用的是自己的Spring Cloud应用,或根据业务需要自定义MSE Nacos配置中心的配置,可参考如下步骤自行验证配置的动态刷新。
启动Spring Cloud应用,执行启动类中的main函数。
在命令行终端执行如下命令,获取MSE Nacos配置中心的
useLocalCache
配置,响应结果为true
。# 根据您服务的ip和端口号进行修改 curl http://服务的ip:18083/getConfig
在控制台上编辑该配置并重新发布,将配置内容修改为
useLocalCache=false
。再次执行上述命令,此时返回内容为
false
,说明应用无需重启,即可从MSE Nacos中获取到useLocalCache
的最新数据。
相关文档
如果您想从开源自建Nacos配置中心迁移到MSE Nacos配置中心,请参见自建Nacos配置中心迁移到MSE Nacos。
如果您想了解服务注册发现功能,请参见在Spring Cloud应用中接入MSE Nacos作为服务注册中心
如果您想实现流量网关和微服务网关功能合并,请参见创建MSE云原生网关。
如果您想了解服务治理和流量防护,实现中间件与业务解耦相关的功能,请参见开通MSE微服务治理。
如果您想了解分布式协调解决方案,提升系统高可用能力,请参见分布式任务调度。