@hai.dinh/service-registry
v0.1.1
Published
client-side service discovery for microservice
Downloads
19
Maintainers
Readme
Service Registry
A client-side service discovery for microservice using etcd
.
Installation
The easiest way to install service-registry
is using NPM. If you have Node.js installed, it is most likely that you have NPM installed as well.
$ npm install @hai.dinh/service-registry
API
register
register(opts: Service): Service
.register()
create a new service in service catalog
import ServiceRegistryFactory from @hai.dinh/service-registry
const registry = ServiceRegistryFactory.create({
driver: 'etcd',
hosts: '127.0.0.1:2379',
env: 'dev'
})
const response = await registry.register({
id: 'storage-service',
name: 'storage service',
endpoint: 'http://storage-service:3001',
category: 'core',
version: '0.0.1'
})
Parameter
- opts: Service
Return Service
unregister
unregister(id: string): boolean
.unregister()
delete the specified service in service catalog
import ServiceRegistryFactory from @hai.dinh/service-registry
const registry = ServiceRegistryFactory.create({
driver: 'etcd',
hosts: '127.0.0.1:2379',
env: 'dev'
})
const isDeleted = await registry.unregister('storage-service');
Parameter
- id: string
Return boolean
get()
get(id: string): Service
.get()
to retrieve the specified service in service catalog
import ServiceRegistryFactory from @hai.dinh/service-registry
const registry = ServiceRegistryFactory.create({
driver: 'etcd',
hosts: '127.0.0.1:2379',
env: 'dev'
})
const storageService = await registry.get('storage-service')
Parameter
- id: string
Return Service
list
list(): []Service
.list()
to retrieve service catalog
import ServiceRegistryFactory from @hai.dinh/service-registry
const registry = ServiceRegistryFactory.create({
driver: 'etcd',
hosts: '127.0.0.1:2379',
env: 'dev'
})
const services = await registry.list()
Return []Service
Interfaces
Service
| Property | Description |
|-----------|---------------|
| id | This is id of service, which is handled as identification for register, get or unregister service.Type: string
|
| name | This is name of service, which should be readable.For e.g: "storage service".Type: string
| category | The category of service. For e.g: "security", "logging", "storage".Type: string
| endpoint | The endpoint of service for other services can consume.For e.g: "http://storage-service:3000".Type: string
| version | The current version of service, which should be meet semver.For e.g: "1.0.0".Type: string