文章目录

  • 一、版本选取和概念理解
    • 1. 版本选择
    • 2.Namespace
    • 3. 如何进行配置和服务的管理、隔离(Group)
  • 二、方案选取
    • 1. 命名空间创建
    • 2. Namespace实施方案
  • 三、nacos配置实战
    • 3.1. dev环境配置创建
    • 3.2. test环境配置创建
  • 四、代码coding实战
    • 4.1. 创建2项目
    • 4.2. 引入依赖
    • 4.3. 创建测试类
    • 4.4. 创建dev环境配置文件
    • 4.5. 分别启动服务
    • 4.6. 测试验证
一、版本选取和概念理解
1. 版本选择

毕业版本依赖关系(推荐使用)

Spring Cloud Version Spring Cloud Alibaba Version Spring Boot Version Nacos Version
Spring Cloud Hoxton.SR9 2.2.6.RELEASE 2.3.2.RELEASE 1.4.2
2.Namespace

Nacos引入了命名空间(Namespace)的概念来进行多环境配置和服务的管理及隔离
Namespace也是官方推荐的多环境支持方案。

3. 如何进行配置和服务的管理、隔离(Group)

这里的group就是Namespace的概念,将服务和配置纳入相同的Namespace进行管理
不同Namespace下的服务和配置之间就隔离开来。

二、方案选取
1. 命名空间创建

NamespaceId值是在配置文件配置时必须要填入的配置项,所以需要我们先创建Namespace和Id,步骤如下:
nacos 的控制台左边功能栏看到有一个命名空间的功能,点击就可以看到新建命名空间 的按钮。
新建成功后,可以在命名空间列表中查看到你所创建的Namespace和他生成的ID值。

2. Namespace实施方案

面向一个租户
从一个租户(用户)的角度来看,如果有多套不同的环境,那么这个时候可以根据指定的环境来创建不同的 namespce,以此来实现多环境的隔离。
例如,你可能有dev,test和prod三个不同的环境,那么使用一套 nacos 集群可以分别建以下三个不同的 namespace。如下图所示:

通过定义不同的环境,不同环境的项目在不同的Namespace下进行管理,不同环境之间通过Namespace进行隔离。
当多个项目同时使用该Nacos集群时,还可以通过Group进行Namespace内的细化分组。
这里以Namespace:dev为例,在Namespace中通过不同Group进行同一环境中不同项目的再分类。

三、nacos配置实战
3.1. dev环境配置创建

Namespace下新建配置文件
这里假设有 nacos-namespace-one 和 nacos-namespace-two 两个项目,等会会创建。
启动Nacos-Server,进入Nacos控制台,切换到Namespace:dev界面,新建配置文件

标签
DataId nacos-namespace-one-dev.yml
Group namespace-one
配置格式 YAML

配置内容:

nacos: config: 项目:nacos-namespace-one,Namespace:dev

继续新建配置文件

标签
DataId nacos-namespace-two-dev.yml
Group namespace-two
配置格式 YAML

配置内容:

nacos: config: 项目:nacos-namespace-two,Namespace:dev

注意检查DataId是否正确、group、配置内容与环境是否匹配

3.2. test环境配置创建

Namespace下新建配置文件
这里假设有 nacos-namespace-one 和 nacos-namespace-two 两个项目,等会会创建。
启动Nacos-Server,进入Nacos控制台,切换到Namespace:test界面,新建配置文件

标签
DataId nacos-namespace-one-test.yml
Group namespace-one
配置格式 YAML

配置内容:

nacos: config: 项目:nacos-namespace-one,Namespace:test

继续新建配置文件

标签
DataId nacos-namespace-two-test.yml
Group namespace-two
配置格式 YAML

配置内容:

nacos: config: 项目:nacos-namespace-two,Namespace:test

四、代码coding实战
4.1. 创建2项目

nacos-namespace-one和nacos-namespace-two

4.2. 引入依赖
 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><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-discovery</artifactId></dependency><!--服务注册发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies><dependencyManagement><dependencies><!--spring-cloud-alibaba 版本控制--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
4.3. 创建测试类
@RestController
@RefreshScope
public class NaocsController {@Value("${nacos.config}")private String nacosConfig;@GetMapping("/nacosConfig")public String nacosConfig(){return nacosConfig;}
}
4.4. 创建dev环境配置文件

配置说明:nacos-namespace-one项目和nacos-namespace-two项目默认配置dev环境的 bootstrap.yml,当项目启动成功后,在将test环境配置文件 bootstrap.yml内容覆盖掉dev环境的配置,因为dev环境和test环境只是环境配置不一样,但是,他们同属于一个项目。等会会启动4个服务
分别是nacos-namespace-one项目9911、nacos-namespace-one项目的9912、nacos-namespace-two项目的9921、nacos-namespace-two项目的9922
nacos-namespace-one项目创建dev环境配置文件 bootstrap.yml

dev

server:port: 9911
spring:application:name: nacos-namespace-oneprofiles:active: devcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-oneconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-one

nacos-namespace-one项目创建test环境配置文件 bootstrap.yml
test

server:port: 9912
spring:application:name: nacos-namespace-oneprofiles:active: testcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-oneconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-one

nacos-namespace-two项目创建dev环境配置文件 bootstrap.yml
dev

server:port: 9921
spring:application:name: nacos-namespace-twoprofiles:active: devcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-twoconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-two

nacos-namespace-two项目创建test环境配置文件 bootstrap.yml
test

server:port: 9922
spring:application:name: nacos-namespace-twoprofiles:active: testcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-twoconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-two
4.5. 分别启动服务

启动4个服务
分别是nacos-namespace-one项目9911、nacos-namespace-one项目的9912、nacos-namespace-two项目的9921、nacos-namespace-two项目的9922
同一项目启动不同端口的服务技巧
需要勾选这个选项

4.6. 测试验证

访问接口来获取配置信息,验证是否可以读取相应环境配置

http://localhost:9911/nacosConfig
http://localhost:9912/nacosConfighttp://localhost:9921/nacosConfig
http://localhost:9922/nacosConfig




总结:通过Namespace来隔离不同的环境(dev\test),在具体的环境Namespace中通过Group来管理不同的项目

Nacos配置中心规范相关推荐

  1. 【第四阶段 day24】Nacos配置中心

    文章目录 1.配置中心 1.1 概述 * 1.2 面试题 2.Nacos配置入门案例 2.1 创建ProviderLogController对象 2.2 在已有的sca-provider项目中添加配置 ...

  2. 阿里面试这样问:Nacos配置中心交互模型是 push 还是 pull ?(原理+源码分析)...

    本文来源:公众号「 程序员内点事」 对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服务发现.配置管理,非常好用的一个工具.然而这样的技术用的人越多面试被问的概率也就越大,如果只停留在使用 ...

  3. Nacos配置中心用法详细介绍

    上篇文章介绍了 Nacos 作为注册中心的用法,除此之外,Nacos 还能作为配置中心使用,那这篇文章就介绍下 Nacos 作为配置中心的基本用法,首先我们先了解下为什么需要使用配置中心. 一.为什么 ...

  4. Nacos配置中心介绍

    配置中心介绍 1.Spring Cloud Config Spring Cloud Config 为分布式系统的外部配置提供了服务端和客户端的支持方案.在配置的服务端您可以在所有环境中为应用程序管理外 ...

  5. Linux启动nacos成功日志_微服务系列之Nacos配置中心

    Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...

  6. easyconnect获取服务端配置信息失败_图文解析 Nacos 配置中心的实现

    本文不会贴太多源码,基本靠图片和文字叙述 全文共 2582 字,预计阅读时间 12 分钟 什么是 Nacos 配置中心的架构 Nacos 使用示例 官方代码示例 Properties 解读 配置项的层 ...

  7. Alibaba Nacos配置中心功能介绍与不同命名空间、分组等配置

    概述:我们前面介绍过 Nacos 可以为我们提供服务注册与发现,以及实现了配置中心功能,本章将介绍nacos 配置中心的使用方法,以及其不同场景下的配置方式.在前面我们介绍过nacos的领域模型(下图 ...

  8. 基于Nacos配置中心实现Spring Cloud Gateway的动态路由管理

    前面我们了解过了Sentinel 网关流量控制之Spring Cloud Gateway实战,今天带给大家是基于Nacos配置中心实现Spring Cloud Gateway的动态路由管理. 1.为什 ...

  9. nacos配置中心[NACOS HTTP-GET] The maximum number of tolerable server reconnection errors has been reache

    nacos使用配置中心,启动项目控制台报错: [NACOS HTTP-GET] The maximum number of tolerable server reconnection errors h ...

最新文章

  1. Application provided invalid, non monotonically increasing dts to muxer in stream 0: -92233720368547
  2. TK:绘制BoundaryEdges边界边用法实战
  3. 单片机检测stc没反应_我为什么不用STC单片机
  4. 技术做不下去就转管理?没那么容易
  5. 数据结构6——回文树
  6. matlab 多速率,多速率信号处理系统设计与实现.PDF
  7. JDK Windows安装
  8. 深入浅出python系列(二):运算符
  9. 深入学习理解UNIX网络编程
  10. pearson特征选择matlab,常用的特征选择方法之 Pearson 相关系数
  11. 利用Gecco爬取(蚂蚁短租网)列表页数据
  12. 滤波器频率响应 matlab,滤波器频率响应与实际滤波情况不符合
  13. 人像姿势,从细节做起!
  14. Windows7 开机自启脚本
  15. 电子招投标技术的五大好处
  16. python 入参格式_Python发送post请求的三种入参-文件、base64、普通入参
  17. python最强web框架fastapi,比肩go,nodejs
  18. Spring源码理解
  19. 油气计量比较好的软件_您准备好使用计量互联网了吗?
  20. TSINGSEE青犀视频再度荣获腾讯云+社区2022年度优秀作者!

热门文章

  1. 每天中一次500万彩票,谷歌CEO 2019薪酬曝光,总计2.81亿美元
  2. 破解YouTube、Facebook推荐系统背后的那些算法
  3. 8万级自动挡智能SUV,舒适好开是亮点,众泰T600Coupe要逆天?
  4. nginx怎么升级php的版本号,nginx 升级指南,最详细的nginx升级步骤
  5. 深信服 linux软件开发面试题整理
  6. hive的一些常见内置函数
  7. try代码块中出现异常后try内程序会继续执行还是直接抛出异常?
  8. 系统调用和库函数的区别
  9. 工业视觉智能实战经验之IVI算法框架2.0
  10. Flagger on ASM·基于Mixerless Telemetry实现渐进式灰度发布系列 1 遥测数据