whale-nest-nacos
Version:
If you are a nest micro service architecture, you can use the SDK, so as to realize service discovery based on nacos, distributed load balancing strategy
27 lines (26 loc) • 1.06 kB
TypeScript
import { GrpcOptions } from '@nestjs/microservices';
import { NacosClientGrpc, whaleNacosOptions } from '../interface';
export interface ConnectionPoolGrpcOptions extends GrpcOptions, Pick<whaleNacosOptions, 'loadBalance' | 'group' | 'mode' | 'localEnvString' | 'localhost'> {
serviceName: string;
}
export interface NacosGrpcOptionsObject {
[key: string]: ConnectionPoolGrpcOptions;
}
export declare class ConnectionPool {
grpcOptionsObject: NacosGrpcOptionsObject;
serviceGrpcMap: Map<any, any>;
grpcOptionsKeyArray: string[];
_grpcOptionsKeyArray: string[];
limit: number;
concurrentPool: Promise<NacosClientGrpc>[];
taskQueue: any;
constructor(grpcOptionsObject: NacosGrpcOptionsObject, limit?: number);
ready(): Promise<any>;
run(race: Promise<any>): Promise<any>;
createTask(grpcOptions: ConnectionPoolGrpcOptions, key: string): Promise<NacosClientGrpc>;
getClientProvider(key: string): {
provide: string;
useFactory: () => Promise<NacosClientGrpc>;
inject: never[];
};
}