springcloud_nacos配置中心命名空间,分组概念

springcloud_nacos配置中心

nacos作为一个优秀的注册中心和服务配置中心,它实现了多级别多类型的分组规则。类似Java里面的package名和类名
最外层的namespace是可以用于区分部署环境的,Group和DatalDi罗辑上区分两个目标对象。
如下图所示:

  • 最外面一层是namespace:
  • 第二级别是group
  • 最后是DatalDi

    nacos自带一个数据库,页面上的默写数据存放在自己的库中,当nacos搭建集群的时候需要用一个共有的数据库,nacos自己集成了MySQL这个后面博客搭建集群时候会提到。

nacos分级明确的好处

Nacos默认的命名空间是public, Namespace主要用来实现隔离。
比方说我们现在有三个环境:开发、测试、生产环境,我们就可以创建三个Namespace,不同的Namespace之间是隔离的。
Group默认是DEFAULT_ GROUP, Group可以把不同的微服务划分到同一个分组里面去。
Service就是微服务; 一个Service可以包含多个Cluster (集群),Nacos默认Cluster是DEFAULT, Cluster是对指定微服务的一个虚拟划分。
比方说为了容灾,将Service微服务分别部署在了杭州机房和广州机房,这时就可以给杭州机房的Service微服务起一个集群名称(HZ),给广州机房的Service微服务起一个集群名称 (GZ), 还可以尽量让同一个机房的微服务互相调用,以提升性能。
最后是Instance,就是微服务的实例。

演示不同命名空间,分组,DatalDi

1.新建好命名空间,分组,DatalDi,然后进行编码
命名空间新增
在这里插入图片描述
**配置中心新建: **找到对应的命名空间建立配置中心
在这里插入图片描述

maven
添加nacons配置中心,注册中心的依赖

<!--nacos 注册中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos-config 配置中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

yml
配置中心有两个yml:
Nacos同springcloud-config一样,在项目初始化时,要保证先从配置中心进行配置拉取,
拉取配置之后,才能保证项目的正常启动。
springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于 application
bootstrap文件:

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格式作为配置,只支持yaml和properties两种类型
        namespace: ff02bb7a-d159-4bfb-8cff-51d17100d4a3  # 配置nacos的命名空间地址
        group: DEV_GROUP # 配置nacos的命名空间地址中新增配置的,自己添加的分组名称

application文件:

spring:
  profiles:
    active: dev

主启动类

/**
 * @author 小鱼
 * @version 1.0
 * @date 2021/8/4 6:39 下午
 */
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClient3377 {
    public static void main(String[] args) {
        SpringApplication.run(NacosConfigClient3377.class);
    }
}

刷新config配置的请求类
通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新

/**
 * @author 小鱼
 * @version 1.0
 * @date 2021/8/3 10:35 上午
 * @RefreshScope:刷新config
 */
@RestController
@RefreshScope
public class ConfigController {

    @Value("${config.info}")
    private String info;

    @GetMapping("/getConfig")
    public String getConfig(){
        return info;
    }

}

验证是否实时刷新配置
请求已经加载了我们dev中的namespace的DEV_GROUP分组的配置文件
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值