当前位置:网站首页 > 微服务架构 > 正文

微服务配置中心nacos(微服务配置中心有哪些)



1、Nacus 服务搭建及使用
2、Nacos 配置中心
3、Nacos 服务注册与发现之OpenFeign服务间调用
4、Spring Security & Oauth2 认证授权
5、网关(Gateway / Sentinel)路由及熔断限流
6、网关(Gateway自定义断言和过滤器)






在《Nacos之服务注册与发现》中,针对 Nacos 的服务发现与注册做了简单介绍,但是 Nacos 也可以作为配置中心。
之前用 Spring Config 作为配置中心来使用,我们需要借助 git 或者其他存储服务来存放我们的配置,但是 Nacos 作为配置中心,使用起来很简单,也很方便。
在 服务注册与发现 一文中,对 Nacos 的启动做了简单介绍,现在直接使用。

首先我们需要在Nacos的 配置管理 > 配置列表中添加服务的配置,配置方式如下:

  1. 点击 + 号,会弹出配置信息窗口,我们可以在里面根据自己服务的需要进行添加配置。
    Nacos添加配置页面
  2. 在 新建配置 页面中,需要填入必须的几个配置参数,分别是 Data ID, Group 和 配置内容,如下图:

参数说明:
Data ID:就是我们的应用名称,也是 spring.application.name 的值 home-server。
Group:默认是 DEFAULT_GROUP,用于将我们的同一类配置文件区分管理,比如我把所有应用的本地测试环境配置都写到 local 组里面。
配置内容:就是我们需要配置的具体配置了,有多重配置方式可选,YAML 就是项目中的 yml 配置文件。


新建配置页面

在 Nacos 配置页面配置好之后,我们需要在我们的应用中使用到这些配置,那就需要从配置中心拉取配置。

需要加入配置中心的依赖 jar 包,版本由父 pom 统一管理。

 
    

虽说是配置都放在了 Nacos ,但是应用中还是要知道配置中心的地址才能去拉取服务需要的配置,但是配置中心的地址就不在 application.yml 中配置了,需要在 bootstrap.yml 中配置,因为 Spring Boot 加载配置是有优先级的,会 先加载 bootstrap.yml,然后在加载 application.yml 配置,所以在 application.yml 中的配置会负载从 Nacos 配置中心拉取到的配置。

一个单元测试来测试是否成功拉取到配置,首先在 Nacos 中加入配置 test.value,如下图:
Nacos配置

测试类见下面,运行结果如图,已经拉取到了 test.value 的值了。

 
    

在这里插入图片描述

Nacos配置三要素确定唯一性

 
    

获取到的配置打印如下图:

从截图中,可以看到先是打印 first, 当我从 Nacos 改成 second,则会立刻刷新配置并且拿到修改后的值。

打印动态更新配置

Nacos Config 在加载配置的时候,不仅加载了 Data ID是 {spring.application.name} . {file-extension:properties} 为前缀的配置,还加载了 {spring.application.name} . {profile} . {file-extension:properties} 为前缀的基础配置,在工作中都会遇到 dev, sit, uat, prod 等多个环境的时候,那么我们就可以用 ${spring.profiles.active} 参数来指定加载的配置。

注意:特别要注意,在 Nacos 添加类似 {spring.application.name} . {profile} . {file-extension:properties} 配置的时候,一定要注意需要在名称加上后缀,比如:user-server.yaml,不能省略掉后缀直接写成 user-server,这样是不会 Nacos Config 是不会加载到的,类似如下配置:

profile配置方式

bootstrap.yml 中添加如下配置,或者是在 启动是传入参数都行。

spring.profiles.active: sit 则指定读取 user-server-sit.yaml 配置。

 
    

Namespace配置比较简单,只需要在 Nacos 命名空间新加一个空间名称(比如:localtest),然后在 bootstrap.yml 中指定 namespace 的 id 即可,配置如下:

 
    

Group配置也简单,首先 Nacos 在新 添加配置 的时候,指定 group(默认是:DEVAULT_GROUP),然后在 bootstrap.yml 中指定 spring.cloud.nacos.config.group 即可。

Data ID 是组织划分配置的维度之一,Data ID 通常用于区分系统的配置集,每个配置集都可以被一个有意义的名称标识,通过自定义动态 Data ID 配置,可以解决多个应用之间共享配置的问题,还可以支持一个应用有多个配置文件。

3.4.1 共享配置

  1. 配置一个共享的配置集,配置如下:
    common.yaml配置集
  2. 在bootstart.yml 中配置如下:

配置一个 spring.cloud.nacos.config.shared-configs[0].data-id: common.yaml,组是默认值。

 
    
  1. 启动测试获取common.yaml配置集的值
 
    

结果如下:
获取到了common.yaml配置

3.4.2 扩展配置

  1. 配置一个扩展的配置,如下:
    extension扩展配置
  2. 在bootstart.yml 中配置如下:
 
    
  1. 启动测试获取extension.yaml配置集的值
 
    

测试结果如下:
打印扩展配置

Nacos Config 提供了三种配置可从配置中心拉取到配置
1、通过内部相关规则(应用名、应用名+yaml)自动生成 Data ID 配置。
2、通过spring.cloud.nacos.config.ext-config[n].data-id 的方式支持多个扩展 Data Id 的配置
3、通过 spring.cloud.nacos.config.shared-configs[n].data-id 支持多个共享 Data Id 的配置
当三种方式同时存在是,它们的优先级为 1 > 2 > 3



优先级从高到低:
1、nacos-config-product.yaml 精准配置
2、nacos-config.yaml 同工程不同环境配置
3、 ext-config: 扩展配置
4、shared-dataids:共享配置



此注解使用方便,只需要加到有 @Value() 的类上,就可以动态刷新被 @Value() 标注字段的值。

 
    

修改 Nacos 配置的参数,token 的值就可以动态被刷新。

Nacos 默认是将配置存储到文件中,如果 Nacos 不搬家还行,但是 一旦 Nacos 移到别处或者是 服务器 出问题,那么你的配置则全部丢失,系统不就瘫痪了,而且 Nacos 如果是自动化部署指不定部署到那台服务,所以配置很容易丢失,那么就需要把 Nacos的配置持久化到指定的数据库才安心。

只需要开启 database 即可,这里有个坑的点就是,即使是 用户名 和 密码 配置错了,也会报 No Datasource set 错,所以要小心配置。
Nacos数据库配置

到此这篇微服务配置中心nacos(微服务配置中心有哪些)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 个人服务器有啥用(个人服务器有啥用途)2025-11-10 09:54:06
  • 个人服务器软件(个人服务器软件 windows)2025-11-10 09:54:06
  • 个人服务器是什么(个人服务器有什么用)2025-11-10 09:54:06
  • 单片机程序的入口地址是0000H,外部中断1的入口地址是(单片机的中断服务程序入口地址是指)2025-11-10 09:54:06
  • samba服务器windows无法访问共享文件夹(samba windows无法访问)2025-11-10 09:54:06
  • 免费的个人服务器有哪些(免费的服务器平台)2025-11-10 09:54:06
  • 微信hook模块(微信hook全接口)2025-11-10 09:54:06
  • 个人服务器作用大吗(个人服务器作用大吗)2025-11-10 09:54:06
  • samba共享服务windows10(samba共享服务必须要密码吗)2025-11-10 09:54:06
  • 微信小程序制作官网(微信官方小程序制作)2025-11-10 09:54:06
  • 全屏图片