Spring Cloud Alibaba基础教程:Nacos 初体验Nacos Spring Cloud

什么是 Nacos?
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

官网:https://nacos.io/zh-cn/index.html

前提条件

您需要先下载 Nacos 并启动 Nacos server,我下载的是目前最新的包nacos-server-1.0.0.zip,解压后直接启动bin目录下startup.cmd,直接访问locahost:8848/nacos/index.html,用户名与密码都是nacos

第二步:新建一个maven项目在pom.xml引入以下包
<parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>2.0.3.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>0.2.1.RELEASE</version>
        </dependency>

    </dependencies>

第三步:新建命名空间

如图我新建了一个dev的命名空间,命名空间为4bbc856e-614c-4b90-af3b-fab9fe566c4e,同时在dev空间下新建了2个DataId 

规则参考第四步骤

第四步:bootstrap.properties 接入nacos相关配置

spring.application.name=service-consumer

#nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#propertis 配置方式
#spring.cloud.nacos.config.file-extension=properties
#spring.cloud.nacos.config.group=DEFAULT_GROUP

#yml 配置方式
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP
spring.profiles.active=dev

#命名空间ID
spring.cloud.nacos.config.namespace=4bbc856e-614c-4b90-af3b-fab9fe566c4e
spring.cloud.nacos.config.server-addr: localhost:8848

在 Nacos 官网手册介绍 中,dataId 的完整格式如下:

${prefix}-${spring.profile.active}.${file-extension}
  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
  • 通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新:

第五步:启动走一波

访问nacos服务此时在服务列表会展示刚刚启动的项目,说明服务注册成功

修改service-consumer-dev.yaml中的配置

查看控制台输出,显示以下信息说明,配置动态更新成功

------------------------------------------------end------------------------------------------------

Nacos vs Spring Cloud
相对于 Spring Cloud Eureka 来说,Nacos 更强大。

Nacos = Spring Cloud Eureka + Spring Cloud Config

Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config。

通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。
通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。

更多具体用法和接入可以参考
Nacos 官方文档。
 

猜你喜欢

转载自blog.csdn.net/u012272367/article/details/90202627