Skip to content

Node.js Nacos 注册中心

Nacos 是阿里巴巴开源的服务注册与配置中心,支持服务发现、健康检查、动态配置。

Nacos 三大功能

功能说明
服务注册/发现服务启动注册到 Nacos,调用方动态发现
配置管理动态配置热更新,无需重启
DNS 服务支持 DNS 协议的服务发现

架构

user-service (3001) ──┐
order-service (3002) ──┼── 注册到 Nacos
pay-service (3003)    ──┘

网关层 → 从 Nacos 查询实例 → 动态路由

Node.js 接入

bash
npm install nacos
js
import { NacosNamingClient } from 'nacos'

const client = new NacosNamingClient({
  serverList: '127.0.0.1:8848',
  namespace: 'public',
})

// 注册服务
await client.registerInstance('user-service', {
  ip: '127.0.0.1',
  port: 3001,
})

// 获取服务实例列表
const instances = await client.getAllInstances('user-service')
// → [{ ip: '127.0.0.1', port: 3001, healthy: true }]

// 订阅服务变化
client.subscribe('user-service', (instances) => {
  console.log('实例变更:', instances)
})

健康检查

Nacos 默认每 5 秒对注册实例发送心跳,无响应则标记不健康并剔除。