node-universe
Version:
基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。
34 lines (33 loc) • 1.44 kB
TypeScript
import Star from '../../../lib/star';
import Registry from '../registry';
import BaseStrategy from '../../../lib/strategies/base';
import { LoggerInstance } from '../../../typings/logger';
import EndpointList from '../endpoint/list';
import EventEndpoint from '../endpoint/event';
import Node from '../node';
import ServiceItem from '../service-item';
import Context from '../../../lib/context';
export default class EventCatalog {
registry: Registry;
star: Star;
logger: LoggerInstance;
StrategyFactory: typeof BaseStrategy;
events: Array<EndpointList>;
EndpointFactory: typeof EventEndpoint;
constructor(registry: Registry, star: Star, StrategyFactory: typeof BaseStrategy);
add(node: Node, service: ServiceItem, event: any): EndpointList;
get(eventName: string, groupName: string): EndpointList | undefined;
getBalancedEndpoints(eventName: string, groups: string | Array<string> | null, ctx: Context): any[];
getGroups(eventName: string): (string | null)[];
getAllEndpoints(eventName: string, groupsNames?: Array<string>): any[];
callEventHandler(ctx: Context): any;
emitLocalServices(ctx: Context): Promise<any[]>;
removeByService(service: ServiceItem): void;
remove(name: string, nodeID: string): void;
list(options?: {
onlyLocal?: boolean;
onlyAvaliable?: boolean;
skipInterval?: boolean;
withEndpoints?: boolean;
}): any[];
}