node-universe
Version:
基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。
38 lines (37 loc) • 1.43 kB
TypeScript
import Star from '../../../lib/star';
import { DiscovererOptions } from '../../../typings/registry/discoverers';
import Registry from '../registry';
import { LoggerInstance } from '../../../typings/logger';
import Transit from '../../../lib/transit';
import Node from '../node';
export default class BaseDiscoverer {
options: DiscovererOptions;
heartbeatTimer: NodeJS.Timeout | null;
checkNodesTimer: NodeJS.Timeout | null;
offlineTimer: NodeJS.Timeout | null;
localNode: Node | null;
star: Star | null;
registry: Registry | null;
logger: LoggerInstance | null;
transit: Transit | null;
constructor(options?: DiscovererOptions);
init(registry: Registry): void;
startHeartbeatTimers(): void;
stopHeartbeatTimers(): void;
stop(): Promise<void>;
registerUniverseMetrics(): void;
beat(): Promise<void> | undefined;
checkRemoteNodes(): void;
checkOfflineNodes(): void;
heartbeatReceived(nodeID: string, payload: any): void;
sendHeartbeat(): Promise<void>;
processRemoteNodeInfo(nodeID: string, payload: any): Node | null;
localNodeDisconnected(): Promise<void>;
remoteNodeDisconnected(nodeID: string, isUnexpected: boolean): void | undefined;
discoverNode(nodeID?: string): Promise<any>;
discoverAllNodes(): Promise<any>;
sendLocalNodeInfo(nodeID?: string): Promise<any>;
disableHeartbeat(): void;
}
disableHeartbeat(): void;
}