目录
- 概要
- 一、安装 Nacos
- 1、下载 Nacos
- 2、解压
- 3、启动 Nacos 服务器
- 4、自定义Nacos启动脚本
- 5、访问Nacos Web控制台
- 二、Nacos----服务注册与发现
- 1、添加 Nacos 依赖
- 2、配置 Nacos 服务器地址
- 3、使用 Nacos 注册服务
- 4、启动服务
- 三、Nacos----配置管理
- 1、创建配置数据
- 2、从 Nacos 获取配置
- 总结
概要
Nacos(Naming and Configuration Service)是一个开源的分布式服务发现和配置管理系统,由阿里巴巴开源,用于帮助开发者实现微服务架构中的服务注册、发现、动态配置等功能。Nacos 提供了服务注册与发现、动态配置、服务健康检查等核心功能,适用于各种基于云原生架构的应用。
一、安装 Nacos
1、下载 Nacos
前往 Nacos 的 GitHub 仓库下载最新版本的 Nacos 发行版。
2、解压
将下载的压缩包解压到你希望安装 Nacos 的目录
3、启动 Nacos 服务器
进入解压后的 Nacos\bin目录,cmd中执行以下命令启动 Nacos 服务器(单机启动)
startup.cmd -m standalone
出现如下界面则代表启动成功
4、自定义Nacos启动脚本
由于每次启动都需要到对应目录使用命令打开非常麻烦,所以在这里提供一个简单的启动脚本,方便启动Nacos
- 先在桌面新建一个.txt文件,然后在文件中输入下方命令,注意:安装目录路径替换为你的Nacos\bin路径
start cmd /k "cd /d 安装目录路径 && startup.cmd -m standalone"
- 然后保存.txt文件并修改文件后缀为.bat
- 之后双击.bat文件即可快速启动Nacos
5、访问Nacos Web控制台
一旦 Nacos 服务器启动,你可以使用 Web 控制台或 API 来进行服务注册、发现、配置等操作。
- 访问 Web 控制台: 在浏览器中输入 http://localhost:8848/nacos 访问 Nacos 控制台,默认用户名密码为 nacos,在这里可以看到Nacos中的各项信息
二、Nacos----服务注册与发现
Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。
1、添加 Nacos 依赖
首先,需要在 Spring Cloud 项目的 pom.xml 文件中添加 Nacos 相关的依赖
<!-- 服务注册发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2、配置 Nacos 服务器地址
在 Spring Cloud 项目的配置文件(如 application.yml 或 application.properties)中配置连接到 Nacos 服务器的地址
spring:
cloud:
nacos:
config:
server-addr: localhost:8848 # Nacos 服务器地址
application: # 服务名称 名称唯一,如果一样就自动成了集群
name: example
3、使用 Nacos 注册服务
在 Spring Cloud 项目的主启动类上添加@EnableDiscoveryClient 注解,启用服务发现功能
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
4、启动服务
启动后就可以在Nacos的服务列表中看到注册的服务
三、Nacos----配置管理
1、创建配置数据
注:同上,需要先添加 Nacos 依赖和配置 Nacos 服务器地址
在 Nacos 控制台上创建配置数据。例如,可以创建一个名为 my-service-dev.yaml 的配置文件,内容如下
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: password
然后,在 Spring Cloud 项目的 bootstrap.yml(或 bootstrap.properties)文件中配置 Nacos 配置中心的配置
spring:
application:
name: my-service
cloud:
nacos:
config:
server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
group: DEFAULT_GROUP
file-extension: yaml
2、从 Nacos 获取配置
在 Spring Cloud 项目中,使用 @Value 注解或 @ConfigurationProperties 注解来获取从 Nacos 中获取的配置值
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Value("${spring.datasource.url}")
private String datasourceUrl;
@GetMapping("/config")
public String getConfig() {
return "Datasource URL: " + datasourceUrl;
}
}
在上述示例中,@Value(“${spring.datasource.url}”) 会从 Nacos 配置中心获取名为 spring.datasource.url 的配置值
总结
综上所述,Nacos 可以在 Spring Cloud 项目中用于实现服务注册、发现和配置管理。通过添加依赖、配置 Nacos 服务器地址、使用 @EnableDiscoveryClient 启用服务发现,以及使用 @Value 注解获取配置,你可以方便地在 Spring Cloud 项目中使用 Nacos。