springCloud-Alibaba——nacos的配置中心(nacos-config)使用与微服务集成 - Go语言中文社区

springCloud-Alibaba——nacos的配置中心(nacos-config)使用与微服务集成


目录

1、nacos config简介:

2、服务端创建配置文件:

(1)登录nacos控制台:

(2)进入配置列表:

(3)增加配置文件:

3、客户端使用配置文件:

(1)原理:

(2)引入依赖:

(3)增加bootstrap.properties:

(4)删除application.yml:

(5)启动微服务:

(6)配置动态更新:

A、创建获取配置信息接口:

B、启动微服务:

C、修改nacos-config配置信息:

D、查看接口返回信息:

4、多环境配置文件:

(1)原理:

(2)服务端创建配置文件:

(3)客户端创建配置文件:

(4)开发工具启动微服务测试:

(5)Jar包启动微服务测试:


1、nacos config简介:

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。

Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。

Spring Cloud Alibaba Nacos Config 是 Spring Cloud Config Server 和 Client 的替代方案,客户端和服务器上的概念与 Spring Environment 和 PropertySource 有着一致的抽象,在特殊的 bootstrap 阶段,配置被加载到 Spring 环境中。当应用程序通过部署管道从开发到测试再到生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。

2、服务端创建配置文件:

(1)登录nacos控制台:

通过在windows的浏览器中输入访问nacos控制台的地址,然后使用用户名和密码登录进入到nacos控制台系统。

(2)进入配置列表:

进入到nacos控制台系统,左侧菜单分为三大类:配置管理、服务管理、集群管理。配置管理是用来动态配置微服务中使用的配置文件的,因此我们点击进入到配置管理列表。

(3)增加配置文件:

点击配置列表右上角的+,打开一个增加配置文件的窗口,填写信息,点击右下角发布即可。然后点击返回,返回到管理列表。

注意:Data ID:的默认扩展名为 .properties ,希望使用 YAML 配置,此处必须指明是 .yaml,建议Data ID的格式为yaml,并且Data ID的值建议为对应的微服务的服务名称,方便以后管理。

Group:默认值即可;

描述:自己填写,大概写一下该配置文件是哪个微服务的即可。

配置格式:与Data ID中填写的格式保持一致选择即可。

配置内容:将对应的微服务中需要配置的信息在该处进行配置。

3、客户端使用配置文件:

(1)原理:

Spring Boot 配置文件的加载顺序,依次为 bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml ,其中 bootstrap.properties 配置为最高优先级。

因此我们在springBoot的各个微服务中,增加了nacos-config的依赖,并且在项目中删除了其它的配置文件,只保留优先级最高级别的bootstrap.properties系列的配置文件,等springBoot启动时会根据bootstrap.properties 配置中的信息从nacos-config中读取对应的data id的配置文件信息加载到项目中,并且项目启动后项目也会动态的自动刷新nacos-config中的配置文件信息。最终实现nacos控制台动态管理项目配置信息的目的。

(2)引入依赖:

在对应微服务项目pom.xml文件中引入nacos-config依赖:

(3)增加bootstrap.properties:

在微服务项目中的resources文件夹中增加bootstrap.properties配置文件,并填写如下配置信息:

(4)删除application.yml:

删除微服务项目中的resources文件夹中application.yml配置文件,由于在nacos-config中配置了配置文件中的信息,因此此处不再存放多余配置文件。

(5)启动微服务:

使用idea开发工具启动该微服务项目。

(6)配置动态更新:

A、创建获取配置信息接口:

在微服务的controller中创建一个读取配置文件中的一个信息,例如读取配置文件中的一个用户配置信息,并返回给浏览器:

B、启动微服务:

使用idea开发工具启动该微服务项目。

C、修改nacos-config配置信息:

登录nacos控制台,修改对应的微服务使用的Data ID配置文件中配置的用户信息。

D、查看接口返回信息:

在浏览器中输入访问该微服务的接口地址,观察刷新查看返回值的确是根据nacos-config中修改的值动态返回。

4、多环境配置文件:

(1)原理:

我们在做项目开发的时候,生产环境和测试环境的一些配置可能会不一样,有时候一些功能也可能会不一样,所以我们可能会在上线的时候手工修改这些配置信息。但是 Spring 中为我们提供了 Profile 这个功能。我们只需要在启动的时候添加一个虚拟机参数,激活自己环境所要用的 Profile 就可以了。

操作很简单,只需要为不同的环境编写专门的配置文件,如:application-dev.yml(开发环境)、application-prod.yml(生产环境), 启动项目时只需要增加一个命令参数:--spring.profiles.active=环境配置即可,启动命令如下:

java -jar hello-spring-cloud-alibaba-nacos-provider-1.0.0-SNAPSHOT.jar --spring.profiles.active=prod

nacos-config 在加载配置的时候,不仅仅加载了以 dataid 为 ${spring.application.name}.${file-extension:properties} 为前缀的基础配置,还加载了 dataid 为 ${spring.application.name}-${profile}.${file-extension:properties} 的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过 Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

因此我们在nacos-config中增加以dataid为基础的各种配置文件,例如:开发环境、测试环境、生产环境等配置文件,并且在对应微服务中增加对应的开发环境、测试环境、生产环境等bootstrap.properties配置文件,主要是在配置文件中指定读取哪种配置环境,这种增加bootstrap.properties配置文件只是为了本地开发工具启动时使用,在服务器上部署时会在jar启动项目时指定读取哪种配置环境。

(2)服务端创建配置文件:

点击配置列表右上角的+,打开一个增加配置文件的窗口,填写信息,点击右下角发布即可。然后点击返回,返回到管理列表。注意增加的Data ID为:对应的微服务服务名称-dev.

例如:product-server-dev.yaml

(3)客户端创建配置文件:

在微服务项目中的resources文件夹中增加开发环境配置文件bootstrap-dev.properties配置文件,并填写如下配置信息:

(4)开发工具启动微服务测试:

在idea开发工具中,设置微服务启动时的profiles值,然后启动微服务项目,启动中会首先找到对应的bootstrap-dev.properties配置文件,然后根据配置文件中指定的nacos-config中的配置信息,最终找到nacos-config中找对应配置文件。

(5)Jar包启动微服务测试:

如果是将微服务打为了jar包,只需要启动时在启动的命令中增加--spring.profiles.active=环境配置即可。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/LSY_CSDN_/article/details/105097014
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-30 21:59:22
  • 阅读 ( 1152 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢