import { Topology, ClusterClient, strategies, senders } from '@skbkontur/cluster-client'; const { SequentialRequestStrategy } = strategies; const { RequestSender } = senders; class ClusterClientProvider { private _clusterConfig: any; private _requestSender: any; private _strategy: any; constructor({ clusterConfig }: { clusterConfig: any } ) { this._clusterConfig = clusterConfig; this._requestSender = new RequestSender(); this._strategy = new SequentialRequestStrategy(3); } createClusterClient( topologyName: string, serviceDiscoveryName?: string, serviceDiscoveryZone?: string) { const topology = new Topology(this._clusterConfig, topologyName, serviceDiscoveryName, serviceDiscoveryZone) return new ClusterClient(topology, this._strategy, this._requestSender) } } export default ClusterClientProvider;