Présentation de la haute disponibilité et de la reprise après sinistre
- Mis à jour : 2020/05/11
Présentation de la haute disponibilité et de la reprise après sinistre
La haute disponibilité (HA) offre une solution de basculement en cas de défaillance d'un service, d'un serveur ou d'une base de données d'IQ Bot. La reprise après sinistre (DR) fournit une solution de récupération à partir d'un lieu géographiquement distant et autonome en cas de sinistre entraînant la défaillance complète d'un centre de données.
IQ Bot Solution HA et DR
Dans le contexte d'IQ Bot, la mise en œuvre de la haute disponibilité (HA) et de la reprise après sinistre (DR) réduit les temps d'arrêt et assure la continuité des activités de vos bot.
- Haute disponibilité (HA) : la haute disponibilité est un modèle de système architectural qui tente de protéger un système contre certains scénarios de défaillance. Cela signifie que même si des parties d'un système échouent, celui-ci reste dans son ensemble accessible et utilisable. Les solutions de haute disponibilité protègent généralement contre des scénarios spécifiques tels que des défaillances de serveur, des défaillances de composant unique, des défaillances de dépendance, des augmentations de charge variables et des fractionnements de réseaux où des composants système deviennent inaccessibles sur un réseau.
- Reprise après sinistre (DR) : la reprise après sinistre implique un ensemble de stratégies et de procédures qui permettent la récupération ou la poursuite des infrastructures et des systèmes essentiels après une catastrophe d'origine naturelle ou humaine. La reprise après sinistre corrige de nombreuses causes d'échecs différentes dans un système alors que la haute disponibilité n'en gère qu'un certain nombre prévisible. La reprise après sinistre a pour objectif de rétablir les services après un incident et pas seulement après un basculement. La récupération d'un système inclut des scénarios tels que le redémarrage d'un service ou d'un système et la restauration de fichiers de configuration ou d'une base de données à partir de sauvegardes.
Éléments d'infrastructure HA et DR requis
- Approche distribuée : en plus du clustering d'IQ Bot et des composants associés du centre de données, nous vous recommandons également de déployer IQ Bot sur plusieurs serveurs physiques et/ou virtuels.
-
Équilibrage de charge – Effectué par un équilibreur de charge, il s'agit du processus de distribution du trafic d'application ou réseau sur plusieurs serveurs pour protéger les activités de service et permettre de répartir les charges de travail entre plusieurs serveurs. Cela garantit la poursuite des activités des bots situés sur les serveurs en cluster.
-
Bases de données —Les bases de données utilisent leur propre basculement intégré pour protéger les données. Cela garantit les données de la base de données sont récupérées.
Entre les clusters HA, configurez la réplication synchrone entre les serveurs Microsoft SQL Server principal (actif) et secondaire (passif) regroupés en cluster dans le centre de données. La cohérence des données est ainsi assurée en cas de défaillance d'un nœud de base de données.
Pour la réplication synchrone HA requise, configurez l'un des éléments suivants :
- Réplica de sauvegarde sur les groupes de disponibilité Mode de validation synchrone de SQL Server AlwaysOn
- SQL vers la mise en miroir de la base de données du serveur
- Entre les sites de reprise d'urgence (DR), configurez la base de données pour prendre en charge la réplication asynchrone du site DR principal (production) vers le site DR secondaire (reprise) situé à un emplacement séparé géographiquement du site DR principal.
Exemple de scénario
Pointez toutes les instances de la IQ Bot d'un même cluster vers la même base de données et les mêmes fichiers de référentiel. Cela est nécessaire pour permettre le partage de données sur plusieurs serveurs et s'assurer que l'intégrité des données est assurée sur plusieurs IQ Bots au sein d'un cluster.
Modèles de déploiement HA et DR
Pour faire en sorte qu'IQ Bot bénéficie d'une protection HA et/ou DR, configurez vos centres de données en fonction des modèles de déploiement décrits dans :
Exigences de mise en œuvre HA
- Installez IQ Bot sur plusieurs serveurs.
- L'accès à IQ Bot se fait via un équilibreur de charge.
- Ouvrez un port de synchronisation RabbitMQ entre les serveurs IQ Bot.
- Configurez Microsoft SQL Server en mode haute disponibilité.
Configuration requise pour l'installation et la configuration HA et DR
- Le programme d'installation d'IQ Bot ne prend pas directement en charge l'installation du cluster. Pour configurer un cluster, effectuez les opérations suivantes :
- Exécutez le programme d'installation sur chaque nœud du serveur d'applications.
- Partagez le dossier
Sortie
avec le rôle d'accèsTout le monde
. - Après l'installation, exécutez
messagequeue_cluster_configuration.bat
avec les arguments de ligne de commande appropriés.
- Configurez IQ Bot dans une configuration de haute disponibilité.
- Ouvrez les ports de pare-feu : 4369 et 25672.
- Installez RabbitMQ sur chaque nœud IQ Bot du cluster.
Le premier nœud où IQ Bot a été installé devient le nœud RabbitMQ principal. Le nom d'hôte du nœud principal est utilisé pour configurer le cluster RabbitMQ.
- L'équilibreur de charge est nécessaire pour distribuer un trafic à tous les nœuds de serveur IQ Bot.
- Configurez Microsoft SQL Server pour la haute disponibilité. Utilisez l'option Toujours activé de Microsoft SQL Server.
- Pour une installation spécifique de RabbitMQ, consultez votre documentation RabbitMQ.
Limitations connues de HA et DR
- Pour découvrir la disponibilité des instances IQ Bot, un équilibreur des charges envoie périodiquement des pings, des tentatives de connexion ou envoie des demandes pour tester les instances IQ Bot. Ces tests sont appelés des tests d'intégrité.
- Les tests d'intégrité ne vérifient pas la disponibilité des instances RabbitMQ.