Install the module:
npm install --save @uplatform/service-discovery
Configure the Service Discovery:
const { ServiceDiscovery } = require('@uplatform/service-discovery');
const discovery = new ServiceDiscovery({ name: 'my-app-1' });
Start Redis:
docker run --rm -it -p 127.0.0.1:6379:6379/tcp redis
Start the application:
export REDIS_URL=redis://my-redis-url:6379
node app.js
Note: By default is uses a Redis server as a backend and gets an URL from REDIS_URL
.
const instance = await discovery.publish({
name: 'app-1',
type: 'http',
metadata: {
api: '1.12',
},
location: {
host: '10.0.0.12',
port: 16784,
path: '/api/v1',
},
});
await discovery.unpublish(instance);
const serviceRef = await discovery.lookup({
name: 'app-1',
});
const serviceRef = await discovery.lookup({
name: 'app-1',
type: 'http',
});
const serviceRef = await discovery.lookup({
name: 'app-1',
type: 'http',
api: '1.12',
});
- Implement
ServiceRef.asPgClient()
- Implement
ServiceRef.asRedisClient()
- Implement
ServiceRef.asMongoClient()
- Implement live update of instance list.
- Karabutin Alex