A simple library to register and deregister services with Consul.
npm install mm-service-register
SERVICE_REGISTER=true SERVICE_REGISTER_PORT=8500 SERVICE_REGISTER_HOST=127.0.0.1 SERVICE_REGISTER_SCHEME=http
const express = require('express'); const app = express(); const servicePort = 3001;
// Route
app.use(/api/v1/health
, (req, res) => { res.json({ status: 'running' }); });
// Server const server = app.listen(servicePort, () => { console.log('Now listening at port ' + servicePort); });
// Service register const ConsulRegister = require('mm-service-register'); new ConsulRegister().use(server); // default http://ip:port/api/v1/health
const express = require('express'); const app = express(); const servicePort = 3002;
// Route
app.use(/api/v1/health
, (req, res) => { res.json({ status: 'running' }); });
// Server const server = app.listen(servicePort, () => { console.log('Now listening at port ' + servicePort); });
// Service register const ConsulRegister = require('mm-service-register');
const options = {
check: { HTTP:http://localhost:3002/api/v1/health
},
}
new ConsulRegister().use(server, options);
const express = require('express');
const app = express();
const servicePort = 3003;
const ConsulRegister = require('mm-service-register');
//Route
app.use(/api/v1/health
, (req, res) => { res.json({ status: 'running' }); });
//other route
//Server
app.listen(servicePort, async () => {
console.log('Now listening at port ' + servicePort);
const consulOptions= {
host: '127.0.0.1',
port: 8500,
scheme: 'http',
version:'v1'
};
const consulRegister = new ConsulRegister(consulOptions);
const serviceOptions = {
id:'service-id',
name:'service-name',
check:{
HTTP:http://localhost:3003/api/v1/health
, //must full path
Interval: '10s',
Timeout: '3s'
},
meta:{
scheme: 'http'
}
}
await consulRegister.registerService(serviceOptions);
});