← 每日面试题 学习看板

什么是Nacos,主要用来作什么?

面试题/00java/04 框架/02SpringCloud/什么是Nacos,主要用来作什么?.md

面试记录 2026-09-27

题目:什么是Nacos,主要用来作什么?

难度:low

标签:spring/cloud, general/knowledge

评分:⭐⭐⭐☆☆(3/5)

我的回答

Nacos 是 Spring Cloud 阿里巴巴下的一个组件,它的主要功能是配置中心以及注册中心。作为配置中心,将我们所有的微服务注册到 Nacos 上,相互之间进行可以进行通信,有对应的标识。另外,Nacos 一个很常规的作用,用于就是配置中心,我们的配置,服务器的各种配置,可以在 Nacos 上进行配置管理,可以通过 Nacos 实现热更配置。

点评

优点:

不足:

补充:

  1. 服务注册/发现:注册实例、心跳续约、健康检查、客户端/服务端两种发现模式
  2. 配置管理:集中管理配置,多环境(dev/test/prod)、多格式(properties/yml/json)、灰度发布
  3. 动态 DNS(部分场景):Nacos 2.x 支持自定义 DNS

完整讲解

第一部分:知识重点剖析

核心考点定位:考察对 Nacos 定位的清晰认识——它是"注册中心 + 配置中心"二合一的组件,以及 AP/CP 双模式的设计理念。

知识点拆解:

  1. 定位:Nacos 是阿里开源的动态服务发现、配置和服务中心(Dynamic Naming and Configuration Service),Spring Cloud Alibaba 生态的核心组件。
  2. 服务注册与发现:
  1. 配置中心:
  1. 临时/永久实例:
  1. AP/CP 双模式:Nacos 通过实例类型决定用哪种一致性,这是它最大的差异化设计
递进:从"是什么"(命名 + 配置二合一)→ "怎么用"(注册 + 配置)→ "怎么保证一致"(AP/CP 双模式)。

第二部分:考察方向与延伸递进

考察方向:

延伸递进面试题:

  1. Nacos 是 AP 还是 CP?
  1. Nacos 如何做高可用部署?
  1. Nacos 和 Eureka 有什么区别?
  1. Nacos 2.x 相比 1.x 有哪些改进?

第三部分:面试者参考回答(300-600 字口语化)

面试官您好,Nacos 是阿里开源的动态服务发现和配置中心(Dynamic Naming and Configuration Service),是 Spring Cloud Alibaba 的核心组件,把注册中心和配置中心合二为一。

两大核心功能:

  1. 服务注册与发现:微服务启动时把自己注册到 Nacos,其他服务通过 Nacos 拿到可用实例列表;支持临时/永久两种实例,临时实例靠心跳续约(默认 15s 判定不健康自动摘除);
  2. 配置中心:把配置从代码里抽出来集中管理,通过命名空间/分组/DataId 组织,支持 properties/yml/json 格式;配置变更后自动推送给客户端,配合 @NacosValue(autoRefreshed=true) 或 @RefreshScope 实现热更新,不用重启服务。

Nacos 最大亮点是 AP/CP 双模式:

版本演进:

部署建议:生产至少 3 节点集群,用外置 MySQL 存元数据,客户端配置多个 Nacos 地址;监听端口 8848(HTTP)+ 9848/9849(gRPC)。