Bluemix Service Discovery Client
npm install bluemix-service-discovery
> bluemix service discovery client for node
Install
---
```
npm install bluemix-service-discovery
Usage
---
In Bluemix, bind Service Discovery to your application and configure
the client:
`js
var ServiceDiscovery = require('bluemix-service-discovery');
var discovery = new ServiceDiscovery({
name: 'ServiceDiscovery',
auth_token: '
url: '
version: 1
});
// list services that are still alive
discovery.getServices(function(error, response, services) {
// handle services
});
// register a service and send heartbeats
discovery.register({
"service_name": "users_api",
"ttl": 0,
"endpoint": {
"host": "https://api.users.coolapp.com",
"port": 443
},
"metadata": {}
}, function(error, response, service) {
if (!error) {
var intervalId = setInterval(function() {
discovery.renew(service.id, function(error, response, service) {
if (error || response.statusCode !== 200) {
console.log('Could not send heartbeat');
clearInterval(intervalId);
}
});
}, 1000);
}
});
`
More examples can be found in the /examples folder
API
---
new ServiceDiscovery(opts)
---
opts - json
* name - string
* version - api version (default: 1)
The method calls use a callback with the signature function(error, response, error).
register(instance, callback)
---
Register a new service instance
Instance:
``
{
"service_name":
"ttl":
"endpoint": {
"type":
"value":
},
"status":
"metadata":
}
Returns:
``
{
"id":
"ttl": 0,
"links": {
"self":
"heartbeat":
}
}
unregister(id, callback)
---
Removes the registration for an existing service instance
renew(id, callback)
---
Sends a heartbeat for an existing service instance registration.
Failing to renew the registration will result in the instance being
removed from the registry.
getInstances(callback)
---
Returns a list of all instances
getServices(callback)
---
Returns a list of all registered services
getServiceInstances(serviceName, callback)
---
Returns a list of all registered service instances of serviceName`.