Node.js Nacos 注册中心
Nacos 是阿里巴巴开源的服务注册与配置中心,支持服务发现、健康检查、动态配置。
Nacos 三大功能
| 功能 | 说明 |
|---|---|
| 服务注册/发现 | 服务启动注册到 Nacos,调用方动态发现 |
| 配置管理 | 动态配置热更新,无需重启 |
| DNS 服务 | 支持 DNS 协议的服务发现 |
架构
user-service (3001) ──┐
order-service (3002) ──┼── 注册到 Nacos
pay-service (3003) ──┘
↓
网关层 → 从 Nacos 查询实例 → 动态路由Node.js 接入
bash
npm install nacosjs
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 秒对注册实例发送心跳,无响应则标记不健康并剔除。