Je possède et exploite visualwebsiteoptimizer.com /. L'application fournit un extrait de code que mes clients insèrent dans leurs sites Web pour suivre certaines mesures. Étant donné que l'extrait de code est du JavaScript externe (en haut du code du site), avant d'afficher un site Web client, le navigateur d'un visiteur contacte notre serveur d'applications. En cas de panne de notre serveur d'applications, le navigateur continuera à essayer d'établir la connexion avant son expiration (généralement 60 secondes). Comme vous pouvez l'imaginer, nous ne pouvons pas nous permettre d'arrêter notre serveur d'applications dans tous les scénarios, car cela affectera négativement l'expérience non seulement des visiteurs de notre site Web, mais aussi des visiteurs du site Web de nos clients!
Nous utilisons actuellement le mécanisme de basculement DNS avec un serveur de sauvegarde situé dans un centre de données différent (en fait un continent différent). Autrement dit, nous surveillons notre serveur d'applications à partir de 3 emplacements distincts et dès qu'il est détecté en panne, nous modifions un enregistrement pour pointer vers l'IP du serveur de sauvegarde. Cela fonctionne bien pour la plupart des navigateurs (car notre TTL est de 2 minutes), mais IE met en cache le DNS pendant 30 minutes, ce qui pourrait être un tueur de deal. Voir ce récent post de notre visualwebsiteoptimizer.com/split-testing-blog/maximum-theoretical-downtime-for-a-website-30-minutes/
Alors, quel type de configuration pouvons-nous utiliser pour garantir un basculement presque instantané en cas de panne majeure du centre de données de l'application? J'ai lu ici www.tenereillo.com/GSLBPageOfShame.htm qu'avoir plusieurs enregistrements A est une solution mais nous ne pouvons pas encore nous permettre la synchronisation de session. Une autre stratégie que nous explorons est d'avoir deux enregistrements A, l'un pointant vers le serveur d'applications et le second vers un proxy inverse (situé dans un autre centre de données) qui se résout en serveur d'applications principal s'il est en marche et en serveur de sauvegarde s'il est en marche. Pensez-vous que cette stratégie est raisonnable?
Juste pour être sûr de nos priorités, nous pouvons nous permettre de garder notre propre site Web ou application, mais nous ne pouvons pas laisser le site Web des clients ralentir en raison de notre temps d'arrêt. Donc, si nos serveurs d'applications sont en panne, nous n'avons pas l'intention de répondre avec la réponse d'application par défaut. Même une réponse vide suffira, nous avons juste besoin que le navigateur complète cette connexion HTTP (et rien d'autre).
Référence: j'ai lu ce fil qui était utile serverfault.com/questions/69870/multiple-data-centers-and-http-traffic-dns-round-robin-is-the-only-way-to-assure