@hai.dinh/service-registry

0.1.1 • Public • Published

Service Registry

CI License: MIT

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

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

LICENSE

MIT

Package Sidebar

Install

npm i @hai.dinh/service-registry

Weekly Downloads

0

Version

0.1.1

License

MIT

Unpacked Size

17.3 kB

Total Files

13

Last publish

Collaborators

  • hai.dinh