nacos致力于发现、配置和管理为服务,能快速实现动态服务发现、服务配置、服务元数据和流量管理
nacos支持基于NDS和基于RPC得服务发现
nacos支持在Spring、Spring Boot、Spring Cloud、Docker、Dubbo、K8s、Sync生态得使用。
1、Nacos依赖java环境,例jdk1.8
下载地址下载地址
解压后进入bin目录,双击startup.cmd即可启动服务。访问http://127.0.0.1:8848/nacos 默认账号密码为nacos
2、服务的注册、发现和配置管理
服务注册:

serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'


服务发现:

curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'


发布配置:

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"


获取配置:

curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"


springCloud与nacos集成,使用Nacos作为服务注册发现组件
1、构建maven工程父项目spring-paenr
pom.xml配置文件例:
    

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


*******************************************************
2、构建服务提供者nacos-server
    新建springBoot项目,版本为父项目版本
    pom文件添加依赖
  

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


yaml配置文件如下:
 

   server:
  port: 8762

spring:
  application:
    name: eureka-server-1
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848


springBoot项目启动类添加注解:
    @EnableDiscoveryClient
编写控制器或者服务作为服务提供者。
启动项目测试访问结果
******************************************************
3、构建服务消费者nacos-consume
    新建springBoot项目,版本为父项目版本。
    pom文件添加依赖

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


yaml配置文件如下:
  

  server:
  port: 8762

spring:
  application:
    name: eureka-server-1
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8849


springBoot项目启动类添加注解:
@EnableFeignClients    
编写控制器或者服务作为服务提供者。
启动项目测试访问结果    

注意:nacos动态配置后需手动点击发布,否则无法生效

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐