spring-cloud-alibaba - nacos配置中心&注册中心 实战

spring cloud alibaba - nacos配置中心&注册中心 实战

文章旨在 简单易懂,学习交流;文章中会尽量避免其他 关联内容;
其他关联的 微服务内容会单独 启动专题说明;也可留言,会第一时间解答,相互交流
非喜勿喷;

环境

版本
spring cloud alibaba2.2.7.RELEASE
Nacos2.0.3
jdk11
maven3.6.3

Maven 依赖

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
      <version>2.2.7.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependencies>
  <!--nacos-discovery 注册服务 -->
  <dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  </dependency>

  <!-- SpringCloud Ailibaba Nacos Config nacos配置中心 -->
  <dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
  </dependency>

  <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
  </dependency>
</dependencies>

项目配置

spring:
  application:
    name: nacos-config
  profiles:
    active: dev

  cloud:
    # nacos 配置
    nacos:
      # 注册中心配置
      discovery:
        server-addr: localhost:8840,localhost:8842,localhost:8844 # Nacos 集群
        namespace: bb84f64f-eaf7-4cf3-97b4-3d939ae1dce9 # 命名空间
      # 配置中心
      config:
        server-addr: localhost:8840,localhost:8842,localhost:8844
        namespace: bb84f64f-eaf7-4cf3-97b4-3d939ae1dce9
        file-extension: yaml # 文件格式
        
        #        Nacos配置中心 的核心概念:
        #        2.1、Data ID:
        #        (1)Data ID 的命名格式:
        #        前面我们演示了在 nacos 控制台新建一个 DataID 为 cloud-producer-server-dev.yaml 的数据集,那么这个 Data ID 是什么呢?Data ID 是配置集的唯一标识,一个应用可以包含多个配置集,每个配置集都需要被一个有意义的名称标识。那么 Data ID 怎么取值呢?格式通俗一点就是 “前缀-环境-扩展名”,如下所示:
        #        ${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        #        ① prefix:前缀,默认是 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置。
        #        # 若不指定,默认采用应用名的方案
        #        spring.application.name=cloud-producer-server
        #        # 手动指定配置的dataID前缀标识
        #        # spring.cloud.nacos.config.prefix=cloud-producer-server-config
        #        ② active:配置运行环境,即为当前环境对应的 profile。
        #        注意:当 spring.profiles.active 为空时,对应的连接符 ”-“ 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
        #        # dev表示开发环境
        #        spring.profiles.active=dev
        #        ③ file-exetension:配置文件的类型,默认是 properties,也可以通过配置项 spring.cloud.nacos.config.file-extension 来配置,目前支持的类型有 TEXT、JSON、XML、YAML、HTML、Properties
        #        # 指定配置文件类型为yaml文件
        #        spring.cloud.nacos.config.file-extension=yaml
        #        ④ 最终配置:
        #        经过前面三个步骤,我们最终在nacos配置中心的控制台新增配置文件就是:cloud-producer-server.yaml

image-20221113143744545

nacos控制台 配置文件创建

image-20221113144431488

  • 具体配置内容

image-20221113144606320

具体配置规则 结合 项目yaml 文件

#        Nacos配置中心 的核心概念:
#        2.1、Data ID:
#        (1)Data ID 的命名格式:
#        前面我们演示了在 nacos 控制台新建一个 DataID 为 cloud-producer-server-dev.yaml 的数据集,那么这个 Data ID 是什么呢?Data ID 是配置集的唯一标识,一个应用可以包含多个配置集,每个配置集都需要被一个有意义的名称标识。那么 Data ID 怎么取值呢?格式通俗一点就是 “前缀-环境-扩展名”,如下所示:
#        ${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
#        ① prefix:前缀,默认是 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置。
#        # 若不指定,默认采用应用名的方案
#        spring.application.name=cloud-producer-server
#        # 手动指定配置的dataID前缀标识
#        # spring.cloud.nacos.config.prefix=cloud-producer-server-config
#        ② active:配置运行环境,即为当前环境对应的 profile。
#        注意:当 spring.profiles.active 为空时,对应的连接符 ”-“ 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
#        # dev表示开发环境
#        spring.profiles.active=dev
#        ③ file-exetension:配置文件的类型,默认是 properties,也可以通过配置项 spring.cloud.nacos.config.file-extension 来配置,目前支持的类型有 TEXT、JSON、XML、YAML、HTML、Properties
#        # 指定配置文件类型为yaml文件
#        spring.cloud.nacos.config.file-extension=yaml
#        ④ 最终配置:
#        经过前面三个步骤,我们最终在nacos配置中心的控制台新增配置文件就是:cloud-producer-server.yaml

测试

  • 配置类
@Data
@Component
@ConfigurationProperties(prefix = "nacos.config.demo")
public class DemoConfig {

    private String name;

}
  • 测试接口
@RestController
@RequestMapping("/config")
public class ConfigController {

    @Resource
    private DemoConfig demoConfig;

    @GetMapping("/demo")
    public String getConfig(){
        return demoConfig.getName();
    }

}
  • 执行接口

curl -X GET --location "http://localhost:50020/config/demo"

GET http://localhost:50020/config/demo

HTTP/1.1 200 
Content-Type: text/plain;charset=UTF-8
Content-Length: 7
Date: Sun, 13 Nov 2022 06:41:21 GMT
Keep-Alive: timeout=60
Connection: keep-alive

xiaobai

Response code: 200; Time: 19ms (19 ms); Content length: 7 bytes (7 B)

注册中心展示

image-20221113145047827

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值