Nacos之服务配置中心

新建Model-cloudalibaba-config-nacos-client3377

POM文件

<?xml version="1.0" encoding="UTF-8"?>  
<project xmlns="http://maven.apache.org/POM/4.0.0"  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
 <parent>  
 <artifactId>SpringCloud</artifactId>  
 <groupId>com.lck.springcloud</groupId>  
 <version>1.0-SNAPSHOT</version>  
 </parent>  
 <modelVersion>4.0.0</modelVersion>  
  
 <artifactId>cloudalibaba-config-nacos-client3377</artifactId>  
  
 <properties>  
 <maven.compiler.source>8</maven.compiler.source>  
 <maven.compiler.target>8</maven.compiler.target>  
 </properties>  
  
 <dependencies>  
 <!--nacos-config-->  
 <dependency>  
 <groupId>com.alibaba.cloud</groupId>  
 <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>  
 </dependency>  
 <!--nacos-discovery-->  
 <dependency>  
 <groupId>com.alibaba.cloud</groupId>  
 <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>  
 </dependency>  
 <!--web + actuator-->  
 <dependency>  
 <groupId>org.springframework.boot</groupId>  
 <artifactId>spring-boot-starter-web</artifactId>  
 </dependency>  
 <dependency>  
 <groupId>org.springframework.boot</groupId>  
 <artifactId>spring-boot-starter-actuator</artifactId>  
 </dependency>  
 <!--一般基础配置-->  
 <dependency>  
 <groupId>org.springframework.boot</groupId>  
 <artifactId>spring-boot-devtools</artifactId>  
 <scope>runtime</scope>  
 <optional>true</optional>  
 </dependency>  
 <dependency>  
 <groupId>org.projectlombok</groupId>  
 <artifactId>lombok</artifactId>  
 <optional>true</optional>  
 </dependency>  
 <dependency>  
 <groupId>org.springframework.boot</groupId>  
 <artifactId>spring-boot-starter-test</artifactId>  
 <scope>test</scope>  
 </dependency>  
 </dependencies>  
  
</project>

bootstarp

在这里插入图片描述

普通YML

在这里插入图片描述

为什么要配置两个

Nacos添加匹配规则:
Nacos中的dataid的组成格式及SpringBoot中配置文件中的匹配规则
在这里插入图片描述

启动3377 ,在nacos界面显示如下
在这里插入图片描述

浏览器输入http://localhost:3377/config/info
version版本会随着nacos里面编辑的变化而变化。

Nacos之命名空间 分组和DataID三者关系

问题一
在实际开发中,通常一个系统会准备

dev开发环境
Test测试环境
prod生产环境
如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢

问题二

一个大型分布式微服务系统会有很多微服务子项目
每个微服务项目都会有相应的开发环境、测试环境、预发环境、正式环境…
怎么对这些微服务配置进行管理

Namespace+Group+DataID这样设计

是什么

类似java里面的package名和类名
最外层的namespce是可以用于区分部署环境的,Group和DataID逻辑上区分两个目标对象

三者情况

在这里插入图片描述

默认情况:
Nmaespace =public,Gourp =DEFAULT_GROUP,默认Cluster是DEFAULT

Nacos默认的命名空间是public,Namespace主要用来实现隔离。
比如说我们有三个环境:开发、测试、生产环境,我们就可以创建三个Namespace,不同的Namespace之间是隔离的。
Group默认是DEFAULT——GROUP,Group可以把不同的微服务划分到同一个分组里面去。

DataID方案

  1. 指定spring.profile.action和配置文件的DataID来使不同的环境下读取不同的配置
  2. 默认空间+默认分组+新建dev和test两个DataID
  3. 通过spring.profile.action属性就能进行多环境下配置文件的读取
  4. 测试

在nacos页面新增一个配置
![[Pasted image 20220301200301.png]]
在这里插入图片描述

在同一个public下里面有两个配置

更换环境
在这里插入图片描述

页面成功切换环境
在这里插入图片描述

Group方案

  1. 通过Group来实现环境区分
  2. 在nacos界面控制台上面新建配置文件DataID
  3. bootstrap+application更改

在这里插入图片描述

Bootstrap.yml
![[Pasted image 20220301201559.png]]在这里插入图片描述

application.yml
在这里插入图片描述

启动3377,刷新页面
在这里插入图片描述

Namespace方案

  1. 新建dev/test的Namespace
  2. 回到服务器管理-服务列表查看
  3. 按照域名配置填写
  4. YML
    ![[Pasted image 20220301202726.png]]在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在dev命名空间下新建三个
在这里插入图片描述

测试spring.profile.active 都是dev 只有GROUPID不一样
在这里插入图片描述

在同一个namespace下只更改groupid即可修改环境

Nacos集群和持久化配置(重要)

![[Pasted image 20220301204545.png]]

vip 虚拟ip 换句话说就是Nginx

集群你觉得你进公司你能搭建集群吗 告辞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nacos服务配置中心Nacos提供的一项功能,用于统一管理和读取微服务的配置信息。在微服务架构中,每个微服务都有自己的配置文件,而配置中心则负责集中管理这些配置文件。通过配置中心,我们可以方便地对各个微服务的配置进行统一维护和管理。 要使用Nacos配置中心功能,首先需要在服务端配置好服务的配置文件。在Nacos服务端中,可以创建不同的命名空间用于隔离开发环境,生产环境和测试环境等。默认情况下,Nacos提供了一个名为"public"的命名空间,如果没有单独配置命名空间,所有的配置信息都会在public命名空间中。 为了实现微服务客户端拉取配置中心的信息,需要在客户端项目中添加Nacos配置中心的依赖。具体依赖配置可以在项目的pom.xml文件中添加如下代码: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 在客户端的bootstrap.yml文件中,需要配置Nacos配置中心的相关信息,包括Nacos注册中心地址、配置中心地址、文件扩展名和命名空间等。示例如下: ```yaml spring: cloud: nacos: discovery: server-addr: 39.100.116.73:80 config: server-addr: 39.100.116.73:8851 file-extension: yaml namespace: 507945ce-1b37-4d59-90aa-f2707fee0013 ``` 其中,`server-addr`指定了Nacos注册中心和配置中心的地址,`file-extension`指定了配置文件的扩展名,`namespace`指定了命名空间ID。 通过以上配置,客户端就可以从Nacos配置中心中获取配置信息,并应用到相应的微服务中。这样,不同的微服务就可以共享配置中心中的配置文件,实现了配置的统一管理和读取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值