SpringCloud-项目引入Nacos

本文探讨了在Spring Cloud项目中引入Nacos的过程与方法。首先介绍了Nacos的基本概念和特性,然后深入解析了如何在项目中集成Nacos作为注册中心的步骤。通过详细的实例演示和配置说明,读者将了解如何借助Nacos实现服务的注册与发现,。文中还强调了Nacos在分布式系统中的优越性能和灵活性,以及对微服务架构的强大支持。通过学习本文,读者将能够迅速上手使用Nacos,充分发挥其在构建可靠、高可用性微服务体系中的作用。

一、安装Nacos服务

首先,我们需要从 Nacos 的官方网站下载发布版本。

001 3 1024x392 - SpringCloud-项目引入Nacos

选择合适的版本并下载,解压缩得到 Nacos 的安装包。

在解压后的 Nacos 目录中,找到 bin 文件夹。

002 4 - SpringCloud-项目引入Nacos

用写字板编辑 startup.cmd,将 set MODE= “cluster” 修改为:

代码语言:javascript
复制
set MODE=“standalone”

这将在启动 Nacos Server 时,默认使用 standalone 模式运行。

修改完成后,切换 cmd 到 bin 目录下启动 Nacos Server:

代码语言:javascript
复制
C:\Users\Damon.Liu>d:
D:\>cd D:\Tools\Nacos\bin
D:\Tools\Nacos\bin>startup.cmd -m standalone
003 2 - SpringCloud-项目引入Nacos

这里提醒我需要配一个 java8以上 的 JAVA_HOME 环境变量。

简单配一下:

004 2 - SpringCloud-项目引入Nacos

再次尝试启动 Nacos,这次成功了!

005 2 1024x581 - SpringCloud-项目引入Nacos

二、项目引入Nacos

首先,创建一个带有生产者和消费者的SpringCloud微服务项目:

这里就不重头带大家新建了,可以直接看我这篇文章:SpringCloud-创建多模块项目

接着对我们 SpringCloud 项目下 每个子项目 引入 Nacos,下面拿 springcloud-provider 这个子项目进行举例,其他子项目改造方法相同:

① pom.xml增加依赖

pom.xml 里增加 Nacos 自动发现的依赖:

代码语言:javascript
复制
<dependency> 
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2021.0.5.0</version>
</dependency>
image 38 - SpringCloud-项目引入Nacos

② 启动类添加自动发现注解

启动类增加自动服务发现的注解 @EnableDiscoveryClient:

代码语言:javascript
复制
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);
}

}

image 39 - SpringCloud-项目引入Nacos

③ 修改 application.yml 配置

修改 application.yml,配置内容修改为:

代码语言:javascript
复制
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: '*'
image 40 - SpringCloud-项目引入Nacos

这样 Nacos 服务就可以自动发现这个子项目的服务了。

访问我们的 Nacos 服务地址:http://localhost:8848/nacos,可以看到控制台的查看已注册服务。 ​

image 43 1024x438 - SpringCloud-项目引入Nacos

通过以上步骤,我们成功将 springcloud-provider 服务注册到了 Nacos 服务中心。


三、测试服务是否注册到Nacos

按照上面服务注册到 Nacos 的方法,把所有需要注册到 Nacos 服务的项目都按照上述方法进行更改,更改完成之后,我们启动所有项目。

image 51 - SpringCloud-项目引入Nacos

访问 Nacos 服务控制台:localhost:8848/nacos

image 52 1024x488 - SpringCloud-项目引入Nacos

可以看到我们目前的服务都已经注册到 Nacos 里了。