Nacos使用简介
Nacos使用简介
JaronNacos
Nacos 的作用和使用场景
Nacos 是一款开源的服务注册中心和配置管理中心工具,主要用于微服务架构中的服务发现、服务配置和动态管理。它支持服务注册与发现(类似 Eureka)、配置管理(类似 Spring Cloud Config)以及动态 DNS 服务。
在微服务中,服务注册和配置管理是两个重要的部分,Nacos 提供了一站式解决方案。
Nacos 的核心功能
- 服务注册与发现:
微服务启动时,将自身注册到 Nacos 服务中心。
其他服务通过 Nacos 获取目标服务的地址(如 IP 和端口),实现服务间调用。
- 配置管理:
- 管理服务的配置文件,支持动态更新配置,而不需要重启服务。
举例:Nacos 的服务注册与发现
以下是一个基于 Spring Cloud Alibaba 和 Nacos 的简单服务注册与发现示例。
场景描述
有两个微服务:
user-service:用户服务,提供获取用户信息的接口。
order-service:订单服务,需要调用 user-service。
通过 Nacos,user-service 注册到服务中心,order-service 可以发现并调用 user-service。
1. 准备工作
1.1 启动 Nacos 服务中心
- 下载 Nacos:
- 启动 Nacos:
1 | sh startup.sh -m standalone |
- 访问控制台:
默认用户名和密码:nacos / nacos
2. user-service:用户服务
2.1 引入依赖
在 user-service 的 pom.xml 中添加以下依赖:
1 | <dependency> |
2.2 配置文件
使用 application.yml 配置文件:
1 | server: |
2.3 编写用户服务接口
在 user-service 中定义一个简单的 REST 接口:
1 |
|
2.4 启动类
添加 @EnableDiscoveryClient 注解,让服务自动注册到 Nacos。
1 |
|
启动后,user-service 会自动注册到 Nacos 服务中心。
3. order-service:订单服务
3.1 引入依赖
在 order-service 的 pom.xml 中添加以下依赖:
1 | <dependency> |
3.2 配置文件
配置 order-service 的 application.yml:
1 | server: |
3.3 定义 Feign 客户端
通过 OpenFeign 调用 user-service:
1 | // 服务名,与 user-service 注册到 Nacos 的名称一致 |
3.4 编写订单服务接口
在 order-service 中调用 user-service:
1 |
|
3.5 启动类
同样添加 @EnableDiscoveryClient 注解:
1 |
|
4. 运行示例
- 启动 Nacos 服务中心:
- 启动 Nacos 服务,确保控制台正常访问。
- 启动 user-service 和 order-service:
启动 user-service,它会自动注册到 Nacos。
启动 order-service,同样注册到 Nacos。
- 验证服务调用:
访问 order-service 的接口:http://localhost:8082/orders/123
order-service 会通过 Nacos 发现 user-service,并调用其接口返回结果:
1 | Order ID: 123, User Info: User ID: 1, Name: John Doe |
- 查看 Nacos 控制台:
打开
http://localhost:8848/nacos在服务列表中可以看到 user-service 和 order-service 已经注册。
