Nacos Node.js SDK
npm install nacos --save| Node.js SDK \ Nacos Server | 0.x.0 | 1.0.0 |
|---|---|---|
| 1.x | √ | |
| 2.x | √ |
'use strict'; const NacosNamingClient = require('nacos').NacosNamingClient; const logger = console; const client = new NacosNamingClient({ logger, serverList: '127.0.0.1:8848', // replace to real nacos serverList namespace: 'public', }); await client.ready(); const serviceName = 'nodejs.test.domain'; // registry instance await client.registerInstance(serviceName, { ip: '1.1.1.1', port: 8080, }); await client.registerInstance(serviceName, { ip: '2.2.2.2', port: 8080, }); // subscribe instance client.subscribe(serviceName, hosts => { console.log(hosts); }); // deregister instance await client.deregisterInstance(serviceName, { ip: '1.1.1.1', port: 8080, });import {NacosConfigClient} from 'nacos'; // ts const NacosConfigClient = require('nacos').NacosConfigClient; // js // for find address mode const configClient = new NacosConfigClient({ endpoint: 'acm.aliyun.com', namespace: '***************', accessKey: '***************', secretKey: '***************', requestTimeout: 6000, }); // for direct mode const configClient = new NacosConfigClient({ serverAddr: '127.0.0.1:8848', }); // get config once const content= await configClient.getConfig('test', 'DEFAULT_GROUP'); console.log('getConfig = ',content); // listen data changed configClient.subscribe({ dataId: 'test', group: 'DEFAULT_GROUP', }, content => { console.log(content); }); // publish config const content= await configClient.publishSingle('test', 'DEFAULT_GROUP', '测试'); console.log('getConfig = ',content); // remove config await configClient.remove('test', 'DEFAULT_GROUP');NacosConfigClient options: ClientOptions
default value: ClientOptions default value
registerInstance(serviceName, instance, [groupName])Register an instance to service.- serviceName {String} Service name
- instance {Instance}
- ip {String} IP of instance
- port {Number} Port of instance
- [weight] {Number} weight of the instance, default is 1.0
- [ephemeral] {Boolean} active until the client is alive, default is true
- [clusterName] {String} Virtual cluster name
- [groupName] {String} group name, default is
DEFAULT_GROUP
deregisterInstance(serviceName, ip, port, [cluster])Delete instance from service.- serviceName {String} Service name
- instance {Instance}
- ip {String} IP of instance
- port {Number} Port of instance
- [weight] {Number} weight of the instance, default is 1.0
- [ephemeral] {Boolean} active until the client is alive, default is true
- [clusterName] {String} Virtual cluster name
- [groupName] {String} group name, default is
DEFAULT_GROUP
getAllInstances(serviceName, [groupName], [clusters], [subscribe])Query instance list of service.- serviceName {String} Service name
- [groupName] {String} group name, default is
DEFAULT_GROUP - [clusters] {String} Cluster names
- [subscribe] {Boolean} whether subscribe the service, default is true
getServerStatus()Get the status of nacos server, 'UP' or 'DOWN'.subscribe(info, listener)Subscribe the instances of the service- info {Object}|{String} service info, if type is string, it's the serviceName
- listener {Function} the listener function
unSubscribe(info, [listener])Unsubscribe the instances of the service- info {Object}|{String} service info, if type is string, it's the serviceName
- listener {Function} the listener function, if not provide, will unSubscribe all listeners under this service
async function getConfig(dataId, group)- {String} dataId - data id
- {String} group - group name
async function publishSingle(dataId, group, content)- {String} dataId - data id
- {String} group - group name
- {String} content - content you want to publish
async function remove(dataId, group)- {String} dataId - data id
- {String} group - group name
function subscribe(info, listener)- {Object} info
- {String} dataId - data id
- {String} group - group name
- {Function} listener - callback handler
- {Object} info
function unSubscribe(info, [listener])- {Object} info
- {String} dataId - data id
- {String} group - group
- {Function} listener - callback handler(optional,remove all listener when it is null)
- {Object} info
Please let us know how can we help. Do check out issues for bug reports or suggestions first.
PR is welcome.
