文档

在Spring Cloud应用中集成MSE Nacos作为配置中心

更新时间:

本文主要介绍如何在Spring Cloud应用中集成MSE Nacos配置中心,实现配置的统一管理和动态刷新。

背景信息

在微服务架构中,传统的硬编码或静态配置文件的管理方式,会因为微服务实例众多且跨多环境部署(如开发、测试、生产等),导致配置不一致、更新不及时等问题。引入配置中心可以有效地解决这些问题,实现配置信息的集中存储、统一管理和动态调整,确保不同环境和实例之间的配置隔离与同步,同时提高配置更新的灵活性和安全性。

前提条件

  • 下载Maven并设置Maven环境变量。

  • 已有Spring Cloud应用。如果您没有合适的Spring Cloud应用,可以使用本示例提供的demo。

  • 创建Nacos引擎

    重要

    如果您的应用与MSE Nacos不在同一地域或不在阿里云服务器上,在创建Nacos引擎时您需要选择公网网络。

    为确保您所搭建的应用可正常通过公网访问MSE ,您需要配置白名单。具体操作,请参见设置白名单

  • 创建命名空间

方案概览

image

通过在Spring Cloud应用中集成MSE Nacos配置中心,前后两次在MSE Nacos控制台发布配置参数useLocalCache=trueuseLocalCache=false,并通过命令行终端请求应用中相关配置接口获取useLocalCache值,根据两次请求结果,帮助您体验MSE Nacos配置中心的动态刷新功能。

  1. 创建并发布配置:通过控制台新建一个配置并发布。

  2. 集成MSE Nacos:通过简单的代码示例搭建 Spring Cloud 应用,展示如何通过MSE Nacos配置中心来管理应用的配置。

  3. 验证动态刷新:通过在控制台编辑配置内容,动态变更服务的配置。

步骤一:创建并发布配置

  1. 登录MSE注册配置中心管理控制台,并在顶部菜单栏选择地域。

  2. 单击目标实例名称。

  3. 在左侧导航栏,选择配置管理 > 配置列表

  4. 在配置列表上方选择您创建的命名空间。

  5. 单击创建配置,在创建配置面板中填写如下配置信息:

    说明

    本文仅提供配置内容的示例参考,您可以根据业务需要创建相关配置,关于配置参数的详细说明,请参考创建配置

    image

  1. 配置完成后单击发布,您可以在配置列表中找到新建的配置。

步骤二:集成MSE Nacos

  1. (可选)若您尚未构建Spring Cloud应用,可以参照本示例来帮助您快速搭建一个简单应用。

  2. 在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>
  3. 在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

    image

  1. 修改后,您需要通过mvn clean package命令重新编译打包。

步骤三:验证动态刷新

说明

以下验证操作是基于本文提供的Spring Cloud应用示例和配置示例进行的,如果您使用的是自己的Spring Cloud应用,或根据业务需要自定义MSE Nacos配置中心的配置,可参考如下步骤自行验证配置的动态刷新。

  1. 启动Spring Cloud应用,执行启动类中的main函数。

  2. 在命令行终端执行如下命令,获取MSE Nacos配置中心的useLocalCache配置,响应结果为true

    # 根据您服务的ip和端口号进行修改
    curl http://服务的ip:18083/getConfig
  3. 在控制台上编辑该配置并重新发布,将配置内容修改为useLocalCache=false

  4. 再次执行上述命令,此时返回内容为false,说明应用无需重启,即可从MSE Nacos中获取到useLocalCache的最新数据。

相关文档