欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 微服务Nacos组件的介绍、安装、使用

微服务Nacos组件的介绍、安装、使用

2025/4/26 22:24:10 来源:https://blog.csdn.net/m0_70590680/article/details/147456368  浏览:    关键词:微服务Nacos组件的介绍、安装、使用

微服务Nacos组件的介绍、安装、使用

在微服务架构日渐普及的今天,服务注册与配置管理成了系统架构中的关键环节。阿里巴巴开源的 Nacos(Naming and Configuration Service)正是解决这一问题的利器。本文将为你全面介绍 Nacos 的概念、安装方式、集成 Spring Boot 的实战用法及常见问题,助你快速上手并应用到实际项目中。


一、Nacos 是什么?

Nacos 是一个更易于构建云原生应用的服务发现、配置管理和服务治理平台。它提供了类似于 Netflix Eureka + Spring Cloud Config 的能力,并且集成了一整套健康检查、动态配置和服务管理能力。

核心能力概览:

  1. 服务注册与发现:支持动态注册与发现服务实例,支持 DNS、REST、gRPC 协议。
  2. 配置中心:集中化配置管理,支持配置热更新和版本控制。
  3. 服务健康检查:通过心跳机制实现服务自动摘除和健康状态监控。
  4. 多环境/命名空间支持:方便在开发、测试、生产环境之间做隔离。
  5. 权限控制与审计:基于角色的访问控制(RBAC),记录配置变更历史。

二、Nacos 的安装

1. 环境准备

  • JDK 8 或以上
  • Maven(如需构建源码)
  • MySQL(用于生产环境持久化配置和注册信息)
  • Docker(推荐使用 Docker 启动测试环境)

2. 下载与启动

Docker拉取nacos镜像
docker pull nacos/nacos-server:v2.3.0
Docker查看nacos镜像
docker images

在这里插入图片描述

Docker 启动(推荐)
docker run -d --name nacos-server \-p 8848:8848 \-p 9848:9848 \-e MODE=standalone \--restart=always \nacos/nacos-server:v2.3.0

在这里插入图片描述

默认访问地址:http://你自己的ip:8848/nacos
默认用户名/密码:nacos / nacos

在这里插入图片描述

三、Nacos 与 Spring Boot 的集成使用

1. 服务注册与发现

依赖引入
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2. 配置中心集成

添加依赖
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
application.yml 配置
spring:application:name: learn-serverconfig:import: nacos:${spring.application.name}.yamlcloud:nacos:discovery:server-addr: 你自己的IP:8848 # Nacos 注册中心的地址namespace: learn-server-namespace-id  # 如果使用自定义命名空间,可以配置此项config:server-addr: 你自己的IP:8848 # Nacos 配置中心的地址file-extension: yaml # 配置文件的格式,yaml 或 propertiesrefreshable: true  # 是否支持动态刷新配置shared-configs: # 可选的共享配置文件
#          - dataid: db_shared.yamlgroup: DEFAULT_GROUPrefresh: truenamespace: public

服务启动后会自动注册到 Nacos 控制台

在这里插入图片描述

其他服务可通过服务名访问,如:

@LoadBalanced
@Bean
RestTemplate restTemplate() {return new RestTemplate();
}restTemplate.getForObject("http://learn-server/hello", String.class);
控制台中添加配置
  • Data ID:learn-server.yaml
  • Group:DEFAULT_GROUP
  • 配置内容:
demo:name: nacos-config

在这里插入图片描述

在这里插入图片描述

Controller 中读取配置
@RefreshScope
@RestController
public class ConfigController {@Value("${demo.name}")private String name;@GetMapping("/config")public String getName() {return name;}
}

浏览器访问:localhost:10010/config ,成功返回

在这里插入图片描述

实时修改Nacos中的配置:
在这里插入图片描述

再次访问localhost:10010/config ,成功返回

在这里插入图片描述

四、常见问题 & 实用技巧

Q1:如何分环境隔离配置?

使用 namespace,推荐一套环境一个 namespace,如 dev、test、prod。

Q2:Nacos 配置支持哪些格式?

支持 .properties.yaml.json 等主流配置格式。

Q3:如何做权限控制?

  • 登录管理界面,创建角色、用户,绑定命名空间与配置操作权限。
  • 配合企业 LDAP、OAuth 认证可实现统一登录。

Q4:如何在集群部署?

  • 修改 application.properties 指定数据库信息
  • 部署多个节点,开启心跳互通与选举机制

五、总结与推荐实践

Nacos 是构建现代微服务系统的重要基础组件,兼具配置中心与服务注册能力,特别适合使用 Spring Cloud Alibaba 技术栈的团队。它不仅降低了系统配置复杂度,也大大提升了服务的动态管理能力。
群部署?

  • 修改 application.properties 指定数据库信息
  • 部署多个节点,开启心跳互通与选举机制

五、总结与推荐实践

Nacos 是构建现代微服务系统的重要基础组件,兼具配置中心与服务注册能力,特别适合使用 Spring Cloud Alibaba 技术栈的团队。它不仅降低了系统配置复杂度,也大大提升了服务的动态管理能力。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词