UNPKG

consul-resolver

Version:

A load balancer for Consul services with Redis-based metrics

26 lines (25 loc) 915 B
import { ConsulResolverConfig, OptimalServiceResult, SelectionAlgorithm, ServiceMetrics } from "./types"; declare class ConsulResolver { private currentIndex; private consul; private redis; private cachePrefix; private weights; private metrics; private cacheTTL; private cacheEnabled; private debug; private metricsManager; private dnsManager; private healthCheckManager; constructor(config: ConsulResolverConfig); /** * Select the optimal service based on the specified algorithm */ selectOptimalService(service: string, algorithm?: SelectionAlgorithm): Promise<OptimalServiceResult>; incrementConnections(serviceId: string): Promise<void>; decrementConnections(serviceId: string): Promise<void>; getSelectionMetrics(serviceId: string): Promise<ServiceMetrics | null>; refresh(): Promise<void>; } export default ConsulResolver;