UNPKG

node-consul-service

Version:

A robust Node.js service that integrates with HashiCorp Consul for service discovery and configuration management. This service provides a comprehensive solution for managing distributed systems and microservices architecture, making it easier to handle s

33 lines (32 loc) 1.03 kB
import client from './client'; const registeredServices = new Set(); export async function registerService(name, id, port, address = 'localhost') { if (registeredServices.has(id)) { console.log(`⚠️ Service "${id}" is already registered.`); return; } await client.agent.service.register({ name, id, address, port, check: { name: `${name}-check`, http: `http://${address}:${port}/health`, interval: '10s', timeout: '5s', deregistercriticalserviceafter: '1m', }, }); registeredServices.add(id); console.log(`✅ Service "${id}" registered successfully.`); } export async function deregisterService(id) { if (!registeredServices.has(id)) { console.log(`⚠️ Service "${id}" is not registered.`); return; } await client.agent.service.deregister(id); registeredServices.delete(id); console.log(`🛑 Service "${id}" deregistered successfully.`); }