微服务学习:Nacos配置中心

先打开Nacos(详见微服务学习:Nacos微服务架构中的服务注册、服务发现和动态配置&Nacos下载)

1.环境隔离:

新建命名空间:微服务学习:Nacos配置中心_第1张图片

记住命名空间ID: c82496fb-237f-47f7-91ed-288a53a63324

再配置微服务学习:Nacos配置中心_第2张图片

就可达成环境隔离 

注意:

每个namespace都有唯一id

服务设置namespace时要写id而不是名称

不同namespace下的服务互相不可见

2.Nacos配置中心

+号创建配置

微服务学习:Nacos配置中心_第3张图片

Data ID:(命名规则:服务名称-开发环境.yaml)

配置内容遵循ymal格式微服务学习:Nacos配置中心_第4张图片点击发布微服务学习:Nacos配置中心_第5张图片再在项目的本地配置文件application.yml前配置bootstrap.ymal

1.Nacos配置管理的客户端依赖



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

2.bootstrap.yml(注意application.yml中的这部分应该删除     别多删了spring:

spring:
  application:
    name: userserver # 服务名称
  profiles:
    active: dev #开发环境,这里是dev 
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config:
        file-extension: yaml # 文件后缀名

3.写测试

@Value("${user.data}")
    private String data;

    @GetMapping
    public String dataString(){
        System.out.println(data);
        return "远程数据"+data;
    }

4.获得

注意nacos优先级高于本地配置文件

3.热部署

一.@Value注入的变量所在类上添加注解@RefreshScope

二.使用@ConfigurationProperties注解,再@Autowired这个PropData方法微服务学习:Nacos配置中心_第6张图片4.多环境配置共享

spring:
  application:
    name: userserver # 服务名称
  profiles:
    active: dev # 环境
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config: 
        file-extension: yaml # 文件后缀名
        shared-configs: # 多微服务间共享的配置列表
          - dataId: common.yaml # 要共享的配置文件id

多种配置的优先级:

服务名-profile.yaml  >服务名称.yaml  > shared-config >  本地配置

你可能感兴趣的:(微服务学习,微服务,学习,java)