@voicenter-team/mysql-dynamic-cluster
Version:
Galera cluster with implementation of dynamic choose mysql server for queries, caching, hashing it and metrics
40 lines (39 loc) • 1.52 kB
TypeScript
/**
* Created by Bohdan on Sep, 2021
*/
import { Redis, Cluster } from 'ioredis';
import { ILoggerSettings } from './LoggerInterfaces';
import { IUserAmqpConfig } from "./AmqpInterfaces";
import { IClusterHashingSettings, IDefaultClusterHashingSettings } from "./ClusterHashingInterfaces";
import { IDefaultRedisSettings, IRedisSettings } from "./RedisInterfaces";
import { IDefaultPoolSettings, IDefaultUserPoolSettings, IUserPoolSettings } from "./PoolSettingsInterfaces";
import { IDefaultServiceMetricsSettings, IServiceMetricsSettings } from "./MetricsInterfaces";
interface ISettings {
redisInstant?: Redis | Cluster;
errorRetryCount?: number;
serviceMetrics?: IServiceMetricsSettings;
useClusterHashing?: boolean;
clusterHashing?: IClusterHashingSettings;
redisSettings?: IRedisSettings;
showMetricKeys?: boolean;
logs: ILoggerSettings;
amqp_logs: IUserAmqpConfig;
}
export interface IUserSettings extends ISettings {
clusterName: string;
hosts: IUserPoolSettings[];
defaultPoolSettings: IDefaultUserPoolSettings;
}
export interface IDefaultSettings extends ISettings {
defaultPoolSettings: IDefaultPoolSettings;
redisInstant: Redis | Cluster;
errorRetryCount: number;
serviceMetrics: IDefaultServiceMetricsSettings;
useClusterHashing: boolean;
clusterHashing: IDefaultClusterHashingSettings;
showMetricKeys: boolean;
redisSettings: IDefaultRedisSettings;
logs: ILoggerSettings;
amqp_logs: IUserAmqpConfig;
}
export {};