Disaster Recovery 101: Architecting Auto-Failovers for MySQL and C++ Deployments on OVH
Architecting High Availability for MySQL with Orchestrator and C++ Applications
This document outlines a robust disaster recovery strategy focusing on automated failover for a typical web application stack comprising a C++ backend and a MySQL database cluster, deployed on OVH infrastructure. The core of this strategy relies on Orchestrator for MySQL high availability and a custom C++ health check mechanism integrated with a load balancer.
MySQL Replication Topology and Orchestrator Deployment
We’ll establish a primary-replica topology for MySQL. For automated failover, Orchestrator is the chosen tool. It’s a MySQL replication topology manager that detects failures and promotes replicas to primaries. We’ll deploy Orchestrator as a separate service, ideally on dedicated instances, to avoid single points of failure.
Orchestrator Configuration for OVH Instances
The Orchestrator configuration file (typically orchestrator.conf.json) needs to be tailored for your OVH environment. Key parameters include database credentials for Orchestrator to connect to MySQL, discovery settings, and failover policies. Ensure Orchestrator has network access to all MySQL instances.
Example orchestrator.conf.json
{
"Debug": false,
"ListenAddress": ":3000",
"MySQLTopologyUser": "orchestrator_user",
"MySQLTopologyPassword": "your_orchestrator_db_password",
"MySQLOrchestratorHost": "127.0.0.1",
"MySQLOrchestratorPort": 3306,
"MySQLOrchestratorDatabase": "orchestrator",
"DiscoveryPeriodSeconds": 10,
"FailureDetectionPeriodSeconds": 5,
"PromotionLagQuery": "SELECT MAX(seconds_behind_master) FROM mysql.slave_status WHERE master_host IS NOT NULL AND master_host != ''",
"ReplicaLagQuery": "SELECT seconds_behind_master FROM mysql.slave_status WHERE master_host IS NOT NULL AND master_host != ''",
"MaxReplicaLagSeconds": 60,
"SnapshotPeriodSeconds": 3600,
"SnapshotTopologies": true,
"PostMasterPromotionProcesses": [
"/path/to/scripts/post_promotion_hook.sh"
],
"PostMasterDemotionProcesses": [
"/path/to/scripts/post_demotion_hook.sh"
],
"PostUnsuccessfulFailoverProcesses": [
"/path/to/scripts/unsuccessful_failover_hook.sh"
],
"ClusterName": "my_app_cluster",
"GlobalServerID": "orchestrator-instance-1",
"ReadOnlyInstanceDetectionMethod": "replication-lag",
"ReadOnlyInstanceDetectionLagSeconds": 300,
"MySQLBinlogCredentialsUser": "replication_user",
"MySQLBinlogCredentialsPassword": "your_replication_password",
"MySQLBinlogCredentialsHost": "localhost",
"MySQLBinlogCredentialsPort": 3306,
"MySQLBinlogCredentialsDatabase": "mysql",
"DetectClusterAlias": true,
"DetectClusterName": true,
"DetectSubClusters": true,
"DetectTopologyByHostname": true,
"DetectTopologyByPort": true,
"DetectTopologyByMasterID": true,
"DetectTopologyBySlaveID": true,
"DetectTopologyByAutoPosition": true,
"DetectTopologyByAutoIncrement": true,
"DetectTopologyByServerID": true,
"DetectTopologyByUUID": true,
"DetectTopologyBySlaveHost": true,
"DetectTopologyBySlavePort": true,
"DetectTopologyBySlaveUser": true,
"DetectTopologyBySlavePassword": true,
"DetectTopologyBySlaveSSL": true,
"DetectTopologyBySlaveConnectTimeout": true,
"DetectTopologyBySlaveReadTimeout": true,
"DetectTopologyBySlaveWriteTimeout": true,
"DetectTopologyBySlaveBindAddress": true,
"DetectTopologyBySlaveBindPort": true,
"DetectTopologyBySlaveBindInterface": true,
"DetectTopologyBySlaveBindNetwork": true,
"DetectTopologyBySlaveBindSubnet": true,
"DetectTopologyBySlaveBindMask": true,
"DetectTopologyBySlaveBindGateway": true,
"DetectTopologyBySlaveBindDNS": true,
"DetectTopologyBySlaveBindNTP": true,
"DetectTopologyBySlaveBindProxy": true,
"DetectTopologyBySlaveBindProxyPort": true,
"DetectTopologyBySlaveBindProxyUser": true,
"DetectTopologyBySlaveBindProxyPassword": true,
"DetectTopologyBySlaveBindProxySSL": true,
"DetectTopologyBySlaveBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindNetwork": true,
"DetectTopologyBySlaveBindProxyBindSubnet": true,
"DetectTopologyBySlaveBindProxyBindMask": true,
"DetectTopologyBySlaveBindProxyBindGateway": true,
"DetectTopologyBySlaveBindProxyBindDNS": true,
"DetectTopologyBySlaveBindProxyBindNTP": true,
"DetectTopologyBySlaveBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindSubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindSubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindSubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindSubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyDNS": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNTP": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxy": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyUser": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyPassword": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySSL": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyConnectTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyReadTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyWriteTimeout": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindAddress": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindPort": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindInterface": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyNetwork": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxySubnet": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyMask": true,
"DetectTopologyBySlaveBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyBindProxyGateway": true,
"DetectTopologyBySlaveBindProxyBindProxyBind