Node.js service registry and discovery on top of etcd.
npm install etcd-proxyNode.js service registry and discovery on top of etcd.
``sh`
$ npm i etcd-proxy --save
#### etcdProxy(options)
options:
- name: {String} service name for register.
- hosts: {String|Array} etcd hosts, eg: ['10.10.10.9:4001'].5
- ttl: {Number} time to live in seconds for etcd key, default .''
- prefix: {String} prefix for etcd key, default .3
- maxRetries: {Number} max retries, default .
- host: {String} ip, default local ip.
- port: {Number} port, default get a random port.
#### .register() {Promise}
register address to etcd for interval. value like:
``
127.0.0.1:9000
#### .discover(name) {Promise}
discover service for interval and return a service url. like:
``
127.0.0.1:9000
`js
const Koa = require('koa')
const etcdProxy = require('etcd-proxy')({
hosts: ['localhost:2379'],
name: 'api'
})
const app = new Koa()
app.use(async (ctx) => {
ctx.body = await etcdProxy.discover('api')
})
etcdProxy.register().then((port) => {
app.listen(port, () => {
console.log(listening on port ${port})``
})
})
MIT