Nacos 是一个开源的动态服务发现、配置管理和服务管理平台。它支持多种服务发现协议,包括基于 DNS 和 HTTP 的服务发现。Nacos 提供了强大的配置管理和服务发现功能,使得在微服务架构中轻松实现服务注册、发现和配置管理成为可能。在本篇博客中,我们将介绍如何在 Spring Cloud 应用中安装和集成 Nacos 注册中心。
一、下载安装Nacos
首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases · alibaba/nacos · GitHub
选择合适的版本并下载,解压缩得到 Nacos 的安装包。
二、启动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控制台
在 Nacos 成功启动后,可以通过浏览器访问 Nacos 控制台,默认地址是 http://localhost:8848/nacos。在控制台中,你可以管理服务、配置以及其他 Nacos 的功能。
四、SpringCloud集成Nacos
1、创建SpringCloud父工程
为了方便模拟,我新创建了一个名为 NacosTest 的 SpringCloud 项目。
删除项目内多余内容。
2、创建生产者子项目
新建 nacos-provider 模块。
选中Spring Web 和 Nacos Service Discovery(用于服务自动注册和自动发现)。
创建完成后,手动删除 demos 文件夹,删除后项目结构如图:
3、父子项目各添加依赖
子项目 pom.xml 添加父工程依赖:
<parent>
<groupId>com.example</groupId>
<artifactId>NacosTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
父项目的 pom.xml 里补充子项依赖和配置:
<packaging>pom</packaging>
<modules>
<module>nacos-provider</module>
</modules>
4、配置生产者项目
① 启动类增加服务发现注解
package com.example.nacosprovider;
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.properties 为 application.yml,内容修改为:
server:
#程序端口号
port: 8081
spring:
application:
#应用名称
name: nacos-provider
cloud:
nacos:
discovery:
#nacos地址
server-addr: 127.0.0.1:8848
management:
endpoints:
web:
exposure:
#公开所有端点
include: '*'
五、访问Nacos查看已注册服务
访问我们的 Nacos 服务地址:http://localhost:8848/nacos,可以看到控制台的查看已注册服务。
通过以上步骤,我们成功在 Spring Cloud 应用中集成了 Nacos 注册中心和配置中心。我们过 Nacos 的控制台管理服务和配置信息,实现更灵活的微服务架构。
六、Nacos的丰富功能
Nacos(Namespace Aware Clustered Object Storage)作为一个强大的服务发现、配置管理和服务管理平台,提供了许多丰富的功能。
功能 | 详述 |
服务注册 | Nacos 作为服务注册中心,支持服务的注册与发现。通过 Nacos,微服务应用可以方便地注册自身服务,同时通过 Nacos 进行服务的发现,以实现微服务之间的通信。 |
服务发现 | 服务消费者通过 Nacos 注册中心发现并调用其他服务。 |
配置管理 | Nacos作为配置中心,支持动态配置管理,实时更新应用的配置信息。通过 Nacos 的配置中心,应用可以动态读取配置信息,实现配置的集中管理。Nacos支持配置的动态监听,当配置发生变化时,应用可以立即感知并更新。 |
命名空间 和分组 | Nacos支持多命名空间和分组,帮助用户更好地管理和隔离不同环境下的服务和配置。 |
健康检查 | Nacos提供了健康检查机制,可实时监测服务的运行状态,确保服务的可用性。 |
集群和 多数据中心 | Nacos支持横向扩展,可以构建成多节点的集群,支持多数据中心的部署,提供高可用和容错能力。 |
配置共享 和保护 | Nacos允许配置共享,支持配置的版本管理和回滚。同时,Nacos提供配置的保护机制,防止配置被误操作删除。 |
插件扩展 | Nacos提供了丰富的插件机制,可以通过插件扩展实现更多自定义功能,如自定义路由、自定义负载均衡策略等。 |
Nacos 的功能丰富多样,涵盖了服务注册与发现、配置管理、健康检查等多个方面。通过学习 Nacos 的这些核心功能,可以更好地利用 Nacos 构建和管理微服务架构,提升应用的可用性和灵活性。希望这一部分的详解能够帮助你更深入地理解和使用 Nacos。