详解Nacos配置中心的实现_第1页
详解Nacos配置中心的实现_第2页
详解Nacos配置中心的实现_第3页
详解Nacos配置中心的实现_第4页
详解Nacos配置中心的实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第详解Nacos配置中心的实现目录基础配置pom文件YML文件配置配置中心文件Nacos中的匹配规则Nacos作为配置中心-分类配置Nacos的图形化管理界面三种方案加载配置DataID方案Group方案Namespace方案

基础配置

新建module:cloudalibaba-config-nacos-client3377

pom文件

版本号已经由父工程控制

xmlversion="1.0"encoding="UTF-8"

projectxmlns="/POM/4.0.0"

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation="/POM/4.0.0/xsd/maven-4.0.0.xsd"

parent

artifactIdcloud2025/artifactId

groupIdcom.atguigu.springcloud/groupId

version1.0-SNAPSHOT/version

/parent

modelVersion4.0.0/modelVersion

artifactIdcloudalibaba-config-nacos-client3377/artifactId

properties

piler.source8/piler.source

piler.target8/piler.target

/properties

dependencies

!--nacos-config--

dependency

groupIdcom.alibaba.cloud/groupId

artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId

/dependency

!--nacos-discovery--

dependency

groupIdcom.alibaba.cloud/groupId

artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId

/dependency

!--web+actuator--

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-web/artifactId

/dependency

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-actuator/artifactId

/dependency

!--一般基础配置--

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-devtools/artifactId

scoperuntime/scope

optionaltrue/optional

/dependency

dependency

groupIdjectlombok/groupId

artifactIdlombok/artifactId

optionaltrue/optional

/dependency

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-test/artifactId

scopetest/scope

/dependency

/dependencies

/project

YML文件

俩个yml文件:

Nacos同springcloud-config一样,在项目初始化时,要保证先从配置中心进行配置拉取,

拉取配置之后,才能保证项目的正常启动。

springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于application

bootstrap.yml文件

server:

port:3377

spring:

application:

name:nacos-config-client

cloud:

nacos:

discovery:

server-addr:localhost:8848#Nacos服务注册中心地址

config:

server-addr:localhost:8848#Nacos作为配置中心地址

file-extension:yaml#指定yaml格式的配置

application.yml文件

spring:

profiles:

active:dev#表示开发环境

Nacos界面配置对应

公式:${}-${files.active}.${spring.cloud.nacos.config.file-extension}

prefix默认为的值

file.active即为当前环境对应的profile,可以通过配置项file.active来配置。

file-exetension为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension来配置

具备回滚功能

主启动类

@EnableDiscoveryClient

@SpringBootApplication

publicclassNacosConfigClientMain3377

publicstaticvoidmain(String[]args){

SpringApplication.run(NacosConfigClientMain3377.class,args);

}

Controller类

@RestController

@RefreshScope

publicclassConfigClientController{

@Value("${}")

privateStringconfigInfo;

@GetMapping("/config/info")

publicStringgetConfigInfo(){

returnconfigInfo;

}

配置配置中心文件

打开nacos,登录到http://localhost:8848/nacos

填写配置内容

config:

info:devconfigversion=1

填写以后发布

测试1

打开浏览器访问:localhost:3377/config/info

修改配置文件:

config:

info:devconfigversion=2

测试1

打开浏览器访问:localhost:3377/config/info

Nacos中的匹配规则

Nacos作为配置中心-分类配置

问题

多环境多项目管理

问题1:

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

dev开发环境

test测试环境

prod生产环境。

如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢?

问题2:

一个大型分布式微服务系统会有很多微服务子项目,

每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境......

那怎么对这些微服务配置进行管理呢?

Nacos的图形化管理界面

配置管理

命名空间

三种方案加载配置

DataID方案

指定file.active和配置文件的DataID来使不同环境下读取不同的配置

测试2

重新启动3377

打开浏览器访问:http://localhost:3377/config/info

Group方案

通过Group实现环境区分

在config下增加一条group的配置即可。可配置为DEV_GROUP或TEST_GROUP

Namespace方案

bootstrap

server:

port:3377

spring:

application:

name:nacos-order

cloud:

nacos:

discovery:

server-addr:localhost:8848#Nacos服务注册中心地址

config:

server-addr:localhost:8848#Nac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论