Spring cloud整合nacos实现服务的注册发现
Spring cloud整合nacos
参照nacos官方文档实现nacos的服务发现功能,因为nacos部署过本地模拟集群,导致服务一直注册不了到nacos。
第一步下载安装nacos
可以在nacos官方网站下载安装包的形式。下载链接:https://nacos.io/zh-cn/
下载好nacos后解压缩安装包,Windows系统下直接进入到nacos的bin目录下,用cmd方式打开dos命令窗口,在nacos的bin目录下运行nacos,运行命令是startup.cmd -m standalone。standalone表示单机模式启动。
使用idea创建springcloud项目集成nacos服务的注册发现
在idea使用new project方式创建maven项目,步骤如下图
一直next,然后finish就可以了
然后在项目里面创建module子项目,步骤如下图
2,在父工程里面引入如下依赖:
4.0.0
<groupId>org.example</groupId>
<artifactId>nacos-discovery</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>nacos-provider</module>
<module>nacos-consumer</module>
</modules>
<properties>
<spring-boot.version>2.0.4.RELEASE</spring-boot.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<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>
然后在子项目里面引入以下依赖:
<?xml version="1.0" encoding="UTF-8"?>
nacos-discovery
org.example
1.0-SNAPSHOT
4.0.0
<artifactId>nacos-provider</artifactId>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</dependency>
</dependencies>
3,在子项目里面创建配置文件application.properties
server.port=56010
spring.application.name=nacos-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
4,在子项目里面创建springboot的启动类:
package com.nacos;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApp {
public static void main(String[] args) {
SpringApplication.run(ProviderApp.class, args);
}
}
@EnableDiscoveryClient注释表示开启nacos的服务发现功能
最后运行启动类,在nacos的服务列表里面可以看到刚才的服务:
特别注意:对nacos没有深入了解的同学,暂时不需要去改动nacos的配置文件,因为可能会导致其它异常。