一、安装Nacos服务
首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases · alibaba/nacos · GitHub
选择合适的版本并下载,解压缩得到 Nacos 的安装包。
在解压后的 Nacos 目录中,找到 bin 文件夹。
用写字板编辑 startup.cmd,将 set MODE= "cluster" 修改为:
set MODE=“standalone”
这将在启动 Nacos Server 时,默认使用 standalone 模式运行。
修改完成后,切换 cmd 到 bin 目录下启动 Nacos Server:
C:\Users\Damon.Liu>d:
D:\>cd D:\Tools\Nacos\bin
D:\Tools\Nacos\bin>startup.cmd -m standalone
这里提醒我需要配一个 java8以上 的 JAVA_HOME 环境变量。
简单配一下:
再次尝试启动 Nacos,这次成功了!
二、项目引入Nacos
首先,创建一个带有生产者和消费者的SpringCloud微服务项目:
这里就不重头带大家新建了,可以直接看我这篇文章:SpringCloud-创建多模块项目-CSDN博客
接着对我们 SpringCloud 项目下 每个子项目 引入 Nacos,下面拿 springcloud-provider 这个子项目进行举例,其他子项目改造方法相同:
① pom.xml增加依赖
pom.xml 里增加 Nacos 自动发现的依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.0.5.0</version>
</dependency>
② 启动类添加自动发现注解
启动类增加自动服务发现的注解 @EnableDiscoveryClient:
package com.example.springcloudprovider;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
③ 修改 application.yml 配置
修改 application.yml,配置内容修改为:
server:
#程序端口号
port: 8081
spring:
application:
#应用名称
name: springcloud-provider
cloud:
nacos:
discovery:
#nacos地址
server-addr: 127.0.0.1:8848
config:
import-check:
enabled: false
management:
endpoints:
web:
exposure:
#公开所有端点
include: '*'
这样 Nacos 服务就可以自动发现这个子项目的服务了。
访问我们的 Nacos 服务地址:localhost:8848/nacos,可以看到控制台的查看已注册服务。
三、测试服务是否注册到Nacos
按照上面服务注册到 Nacos 的方法,把所有需要注册到 Nacos 服务的项目都按照上述方法进行更改,更改完成之后,我们启动所有项目。
访问 Nacos 服务控制台:localhost:8848/nacos
可以看到我们目前的服务都已经注册到 Nacos 里了。