UNPKG

@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
/** * 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 {};