(3)Nacost统一配置中心

1:配置中心HelloWorld入门实例

1.1版本说明
地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
在这里插入图片描述

springcloudalibaba springcloud springboot版本

我们选用
在这里插入图片描述

1.2项目搭建
父项目配置pom
温馨提示:关于parent和properties标签下所依赖的springBoot版本保持一致。

<properties>
        <java.version>1.8</java.version>
        <spring-boot.version>2.3.2.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
        <spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
</properties>

<dependencyManagement>
	<dependency>
	      <groupId>org.springframework.boot</groupId>
	      <artifactId>spring-boot-dependencies</artifactId>
	      <version>${spring-boot.version}</version>
	      <type>pom</type>
	      <scope>import</scope>
	</dependency>
	<dependency>
	      <groupId>org.springframework.cloud</groupId>
	      <artifactId>spring-cloud-dependencies</artifactId>
	      <version>${spring-cloud.version}</version>
	      <type>pom</type>
	      <scope>import</scope>
	</dependency>
	<!--spring cloud alibaba-->
	<dependency>
	      <groupId>com.alibaba.cloud</groupId>
	      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
	      <version>${spring-cloud-alibaba.version}</version>
	      <type>pom</type>
	      <scope>import</scope>
	</dependency>  
</dependencyManagement>    

子项目配置pom

<dependencies>
        	<dependency>
	            <groupId>org.springframework.boot</groupId>
	            <artifactId>spring-boot-starter-web</artifactId>
        	</dependency>

        	<dependency>
	            <groupId>com.alibaba.cloud</groupId>
	            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        	</dependency>
</dependencies>

1.3:新建module:客户端配置
(1):创建bootstrap.properties或bootstrap.yml配置文件,此配置文件优先级高于application.yml文件

bootstrap.properties文件配置如下:
spring.application.name=nacos_config_test
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.group=DEFAULT_GROUP
spring.cloud.nacos.config.name=nacos_config.properties
-------------------------------------------------------------------------
bootstrap.yml文件配置如下:
spring:
  application:
    name: nacos_config_test
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml  #指定yaml格式的配置
        name: nacos_config.yml
        group: DEFAULT_GROUP
		#namespace此时默认为public
        
#配置简单的信息,用于测试
java1234:
  name: jack
  age: 18

(2)新建controller测试类
在这里插入图片描述

1.4:服务端新建配置
Data ID与spring.cloud.nacos.config.name对应,
Group与spring.cloud.nacos.config.group对应,

如果客户端没有配置spring.cloud.nacos.config.name,则默认读取spring.application.name的配置文件。
在这里插入图片描述

启动类加:
@EnableDiscoveryClient用于服务的注册和发现
Controller类上加:
@RefreshScope刷新读取最新配置;
字段上加:
@Value 读取配置信息

1.5:启动项目
启动成功,访问该接口http://localhost:8080/nacos/getConfigInfo
在这里插入图片描述
恭喜,此时读取的配置文件就是nacos上的外部配置,而不是name:jack;age:18

--------------------------------------------华丽的分割线2--------------------------------------------------

2:配置中心-数据模型

Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是 DEFAULT_GROUP。
在这里插入图片描述
--------------------------------------------华丽的分割线3--------------------------------------------------

3:加载多配置集

有时候为了多模块项目的配置共享,我们需要进行配置拆分以及加载多配置集;

比如我们有10个业务模块项目;mysql,redis,reabbitmq等配置都是一样的,为了统一管理,我们在nacos配置中心需要单独的搞成一个通用配置,就是将公共的配置抽离出来,然后供主项目引入;

案例:
手动新建四个样例配置:
mysql_common.properties
DEFAULT_GROUP
java1234.mysql.common=mysqlconfig

redis_common.properties
DEFAULT_GROUP
java1234.redis.common=redisconfig

业务模块项目CRM:
crm.properties
CRM_GROUP
java1234.crm.config=crm

业务模块项目OA
oa.properties
OA_GROUP
java1234.oa.config=oa

在这里插入图片描述

配置:

spring.cloud.nacos.config.extension-configs[0].data-id=mysql_common.properties
spring.cloud.nacos.config.extension-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[0].refresh=true

spring.cloud.nacos.config.extension-configs[1].data-id=redis_common.properties
spring.cloud.nacos.config.extension-configs[1].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[1].refresh=true

spring.cloud.nacos.config.extension-configs[2].data-id=crm.properties
spring.cloud.nacos.config.extension-configs[2].group=CRM_GROUP
spring.cloud.nacos.config.extension-configs[2].refresh=true

spring.cloud.nacos.config.extension-configs[3].data-id=oa.properties
spring.cloud.nacos.config.extension-configs[3].group=OA_GROUP
spring.cloud.nacos.config.extension-configs[3].refresh=true

-------------------------------------------------------或者------------------------------------------------------

在这里插入图片描述
通过上述配置,可以灵活的获取想要的数据配置。
通过以下方式测试是否配置成功。
在这里插入图片描述
--------------------------------------------华丽的分割线4--------------------------------------------------

4:配置中心其他功能

1,配置导出和导入;

2,配置克隆功能;

3,历史版本,可以进行版本回滚;

在这里插入图片描述

4,监听查询,查看哪些客户端正在监听配置中心;在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值