dubbo registry
Dubbo Registry Client & Server Nodejs Implement
- Configurable service discovery and registry
- Pluggable loadbalancing, currently round robin provided
- Disaster recovery
- ...
$ npm install dubbo-registry --save
-
RegistryServer
new RegistryServer(options)
- {Number} port - the listening port
- {Protocol} protocol - the exchange protocol, default is dubbo protocol
- {Logger} logger - the logger instance, default is console
* close()
shutdown the server
-
RegistryClient
new RegistryClient(options)
- {String} address - registry server address, sush as
127.0.0.1:9090
- {String} [defaultPort] - default port is 9090, you can override it
- {String} [username] - registry server login username
- {String} [password] - registry server login password
- {Protocol} protocol - the exchange protocol, default is dubbo protocol
- {String} appName - the application name
- {Logger} logger - the logger instance, default is console
- {String} address - registry server address, sush as
* close()
shutdown the clientsubscribe(reg, listener)
subscribing service addresses- {Object} reg
- {String} interfaceName - service interfaceName, for example: 'com.test.TestService'
- {String} version - service version
- {String} group - service group
- {Function} listener - the addresses change listener
- {Object} reg
unSubscribe(reg, listener)
cancel subscribing service- {Object} reg
- {String} interfaceName - service interfaceName, for example: 'com.test.TestService'
- {String} version - service version
- {String} group - service group
- {Function} listener - the addresses change listener
- {Object} reg
publish(reg)
publishing a service- {Object} reg
- {String} interfaceName - service interfaceName, for example: 'com.test.TestService'
- {String} version - service version
- {String} group - service group
- {String} url - service url
- {Object} reg
A simple server
const { Server: RegistryServer } = require('dubbo-registry');
const server = new RegistryServer({ port: 9090 });
server.ready(() => {
console.log('server is ready');
});
Client publish a service
const { Client: RegistryClient } = require('dubbo-registry');
const client = new RegistryClient({
address: `127.0.0.1:9090`,
appName: 'test',
});
client.publish({
interfaceName: 'com.demo.DemoService',
version: '1.0.0',
url: 'dubbo://127.0.0.1:12200/com.demo.DemoService',
});
Client subscribe a service
const { Client: RegistryClient } = require('dubbo-registry');
const client = new RegistryClient({ port: 9090 });
const client = new RegistryClient({
address: `127.0.0.1:12200`,
appName: 'test',
});
client.subscribe({
interfaceName: 'com.demo.DemoService',
version: '1.0.0',
}, addresses => {
console.log('service addrs => ', addresses);
});