微服务架构中,服务发现与配置管理是两大基础设施。Nacos(Dynamic Naming and Configuration Service)同时承担注册中心与配置中心两个角色,与Spring Cloud Alibaba生态集成度高,在Java技术栈里应用广泛。本文从部署、服务注册、配置中心到集群落地,给出一个可操作的微服务架构落地过程。
Nacos部署模式:单机、集群与鉴权配置
开发环境用单机模式,生产环境部署集群。Nacos集群使用MySQL持久化配置元数据,先建库再启动:
# MySQL 8 建库(Nacos自带脚本)
mysql -uroot -p < nacos/conf/mysql-schema.sql
# application.properties 关键配置
spring.datasource.platform.url=jdbc:mysql://10.0.0.11:3306/nacos?characterEncoding=utf8
db.num=1
db.user.0=nacos
db.password.0=Nacos@2026
# 集群节点列表
cat >> cluster.conf <
生产环境必须开启鉴权,替换默认密钥,否则未授权请求可以直接读写配置:
nacos.core.auth.enabled=true
nacos.core.auth.plugin.nacos.token.secret.key=使用openssl随机生成的64位字符串
节点间通过Distro协议做数据复制,任意节点可写,配合MySQL持久化,单节点故障不会丢配置。
服务注册与发现:客户端接入配置
服务提供方引入依赖后,配置注册中心地址即可自动注册:
spring:
application:
name: order-service
cloud:
nacos:
discovery:
server-addr: 10.0.0.11:8848
namespace: prod
username: nacos
password: 配置的密码
调用方通过OpenFeign声明式接口,服务名由Nacos解析实例并做负载均衡:
@FeignClient(name = "order-service")
public interface OrderClient {
@GetMapping("/api/orders/{id}")
OrderVO getOrder(@PathVariable("id") Long id);
}
namespace按环境隔离:dev、test、prod各一个,避免测试实例误暴露到生产;group按业务线隔离,不同业务线共用环境时用group区分。
配置中心:动态刷新与配置隔离
配置通过spring.config.import引入,修改后自动推送:
spring:
config:
import: nacos:order-service-prod.yaml?group=DEFAULT_GROUP&refreshEnabled=true
需要动态刷新的配置用@RefreshScope:
@RefreshScope
@Component
public class OrderConfig {
@Value("${order.timeout-ms:3000}")
private int timeoutMs;
}
配置变更走Nacos长轮询推送,客户端有本地缓存兜底。生产修改配置前先看变更历史,出问题用版本回滚一键恢复。
网关接入与路由联动
Spring Cloud Gateway结合Nacos,路由按服务名自动发现,新增服务无需重启网关:
spring:
cloud:
nacos:
discovery:
server-addr: 10.0.0.11:8848
gateway:
discovery:
locator:
enabled: true
routes:
- id: order-route
uri: lb://order-service
predicates:
- Path=/api/orders/**
lb://前缀配合Nacos实例列表做负载均衡,健康检查失败的实例自动摘除。全链路走注册中心后,扩缩容对网关透明。
生产落地要点:健康检查、容量规划与故障演练
实例注册时配置业务健康检查与元数据:
spring:
cloud:
nacos:
discovery:
server-addr: 10.0.0.11:8848
health-check-path: /actuator/health
metadata:
version: v2.1.0
容量上按服务实例数的3倍预留Nacos资源。上线前做三类演练:注册中心宕机演练(客户端本地缓存能否支撑业务)、配置误改演练(回滚时限)、网络分区演练(节点间数据同步恢复)。
Nacos把服务发现、配置管理收拢进同一套平台,配合命名空间与分组机制,多环境、多业务线的隔离都变得清晰。按本文顺序推进:先建集群与鉴权,再接入注册,最后上配置中心,每个环节验证通过后进入下一步。
原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/nacos-fu-wu-zhu-ce-yu-pei-zhi-zhong-xin-shi-zhan-wei-fu-wu/