tabeliao-node
v0.0.1
Published
Node library that register services into a service discovery
Downloads
2
Readme
tabelião node
Biblioteca do tabelião para nodejs.
Pré-requisitos
É necessário ter um package.json válido e com as chaves name e version.
Sua aplicação não pode ter uma rota /healthcheck. Ela é criada automaticamente pelo tabelião.
Funcionamento
No bootstrap da aplicação o tabelião procurará o package.json mais próximo da pasta em que o processo está rodando para utilizar as informações para o SD no endereço default do Consul.
O tabelião criará uma rota /healthcheck e irá fazer um GET nela uma vez por minuto para verificar se o serviço está disponível.
NOTA: a rota só será criada se a app do express for passada no options.
Uso
tabeliao.register(options, callback(err))
Essa função serve para registrar um serivço no Service Discovery.
Parâmetros
options.ssl (Boolean default false)
Se o seu serviço roda em https, deve ser true.
options.host (String default localhost)
Host que sua aplicação roda.
options.port (String default 3000)
Porta que sua aplicação roda.
options.app (Object default null)
Aplicação Express da sua aplicação.
Por que passar minha aplicação do Express?
Automaticamente uma rota /healthcheck será criada para monitorar.
Exemplo
var app = require('express')();
// ....
var tabeliao = require('tabeliao-node');
var options = {
ssl: true,
host: 'localhost',
port: '3000',
app: app
};
tabeliao.register(options, function(err) {
if (err) {
throw err;
}
});Esse exemplo criará a rota /healthcheck e mandará três informações para o SD:
- id: campo
nameconcatenado com-ehostnameda máquina - name: campo
namenopackage.json - tags: array contendo
nodejse o campoversiondopackage.json
tabeliao.getDependencies(keys, callback(err, result))
Pega informações no serviço de configuração centralizada.
Parâmetros
keys (Array de strings)
Você passa todas as chaves das quais você precisa dos valores no servidor de configurações.
Uso
tabeliao.getDependencies(['address/google', 'address/stackoverflow'], function (err, result) {
console.log(result);
});E o result será:
{
"address/google": "https://google.com",
"address/stackoverflow": "http://stackoverflow.com/"
}