UNPKG

consul-resolver

Version:

A load balancer for Consul services with Redis-based metrics

27 lines (26 loc) 928 B
import { ServiceHealth, ServiceMetrics, SrvRecord } from "../types"; export declare function roundRobinSelection(services: ServiceHealth[], currentIndex: number): { id: string; service: ServiceHealth; nextIndex: number; }; export declare function leastConnectionSelection(services: ServiceHealth[], metrics: Map<string, ServiceMetrics>, defaultMetrics: ServiceMetrics): { id: string; service: ServiceHealth; }; export declare function weightedRandomSelection(rankedServices: Array<{ score: number; id: string; service: ServiceHealth; }>): { id: string; service: ServiceHealth; }; export declare function roundRobinSrvSelection(records: SrvRecord[], currentIndex: number): { selected: SrvRecord; nextIndex: number; } | null; export declare function weightedSrvRecordSelection(records: SrvRecord[], currentIndex: number): { selected: SrvRecord; nextIndex: number; } | null;