


Mécanisme de basculement et de récupération dans la solution d'équilibrage de charge Nginx
Mécanisme de basculement et de récupération dans la solution d'équilibrage de charge Nginx
Introduction :
Pour les sites Web à forte charge, l'utilisation de l'équilibrage de charge est l'un des moyens importants pour garantir la haute disponibilité du site Web et améliorer les performances. En tant que puissant serveur Web open source, la fonction d'équilibrage de charge de Nginx a été largement utilisée. En matière d'équilibrage de charge, la manière de mettre en œuvre des mécanismes de basculement et de récupération est une question importante à prendre en compte. Cet article présentera le mécanisme de basculement et de récupération dans l'équilibrage de charge Nginx et donnera des exemples de code spécifiques.
1. Mécanisme de basculement
Le basculement fait référence à la capacité du système à transférer de manière transparente la charge vers d'autres nœuds normaux lorsqu'un ou plusieurs nœuds tombent en panne. Nginx propose une variété d'options de configuration du mécanisme de basculement. Voici quelques méthodes couramment utilisées.
- Basculement basé sur un contrôle de santé
Le module en amont de Nginx fournit un mécanisme de basculement basé sur des contrôles de santé actifs. En envoyant périodiquement des demandes de vérification de l'état au serveur principal, la disponibilité du nœud peut être jugée et l'équilibrage de charge peut être effectué en fonction des résultats de la vérification. Lorsqu'un nœud tombe en panne, Nginx transmettra automatiquement les demandes à d'autres nœuds normaux pour réaliser le basculement.
Ce qui suit est un exemple de configuration d'équilibrage de charge basée sur une vérification de l'état :
upstream backend { server backend1.example.com:80; server backend2.example.com:80; check interval=3000 rise=2 fall=3 timeout=1000; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } }
Dans la configuration ci-dessus, une demande de vérification de l'état est envoyée au serveur backend toutes les 3 secondes. Lorsqu'il y a deux réponses normales consécutives, le nœud est considéré comme revenu à la normale ; lorsqu'il y a trois réponses anormales consécutives, le nœud est considéré comme défectueux. Nginx effectuera un équilibrage de charge en fonction de la disponibilité des nœuds et passera automatiquement aux nœuds normaux.
- Basculement basé sur la détection active
Le module de flux de Nginx fournit un mécanisme de basculement basé sur la détection active. En envoyant périodiquement des requêtes de sonde au serveur backend, la disponibilité des nœuds peut être détectée et l'équilibrage de charge effectué en fonction des résultats de la sonde. Lorsqu'un nœud tombe en panne, Nginx transmettra automatiquement la demande à d'autres nœuds normaux pour réaliser le basculement.
Ce qui suit est un exemple de configuration d'équilibrage de charge basée sur la détection active :
stream { upstream backend { server backend1.example.com:80; server backend2.example.com:80; check interval=3000 rise=2 fall=3 timeout=1000; } server { listen 80; proxy_pass backend; } }
Dans la configuration ci-dessus, une requête de détection est envoyée au serveur backend toutes les 3 secondes. Lorsqu'il y a deux réponses normales consécutives, le nœud est considéré comme revenu à la normale ; lorsqu'il y a trois réponses anormales consécutives, le nœud est considéré comme défectueux. Nginx effectuera un équilibrage de charge en fonction de la disponibilité des nœuds et passera automatiquement aux nœuds normaux.
2. Mécanisme de récupération après panne
La récupération après panne fait référence à la capacité du système à redistribuer automatiquement la charge au nœud après la réparation d'une panne de nœud. Nginx propose une variété d'options de configuration pour les mécanismes de récupération après panne. Voici quelques méthodes couramment utilisées.
- Récupération après panne basée sur un bilan de santé
Le module en amont de Nginx fournit également un mécanisme de récupération après panne basé sur des contrôles de santé actifs. Une fois la disponibilité d'un nœud restaurée, Nginx redistribue automatiquement les requêtes au nœud.
Voici un exemple de configuration de récupération après panne basée sur une vérification de l'état :
upstream backend { server backend1.example.com:80; server backend2.example.com:80; check interval=3000 rise=2 fall=3 timeout=1000; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } }
Dans la configuration ci-dessus, lorsque la disponibilité d'un nœud est restaurée, Nginx redistribuera automatiquement les requêtes au nœud.
- Récupération après panne basée sur le poids
Le module en amont de Nginx fournit également un mécanisme de récupération après panne basé sur le poids. En définissant différentes valeurs de poids pour les nœuds, vous pouvez contrôler le rapport de répartition de la charge. Lorsque la disponibilité d'un nœud est restaurée, la valeur de poids du nœud peut être ajustée pour le ramener progressivement à son état de charge normal.
Ce qui suit est un exemple de configuration de récupération après panne basée sur le poids :
upstream backend { server backend1.example.com:80 weight=5; server backend2.example.com:80 weight=1; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } }
Dans la configuration ci-dessus, le poids du serveur backend backend1 est de 5 et le poids du serveur backend backend2 est de 1. Lorsque la disponibilité du backend1 est restaurée, sa valeur de poids peut être ajustée afin qu'elle revienne progressivement à 5 pour réaliser une reprise après panne.
Conclusion :
Cet article présente le mécanisme de basculement et de récupération dans la solution d'équilibrage de charge Nginx et donne des exemples de code spécifiques. En configurant correctement les mécanismes de basculement et de récupération, la disponibilité et les performances du système peuvent être améliorées. Dans les applications réelles, la méthode de configuration appropriée peut être sélectionnée en fonction de besoins et de scénarios spécifiques pour obtenir un effet d'équilibrage de charge optimal.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

La conversion d'un fichier HTML en URL nécessite un serveur Web, ce qui implique les étapes suivantes : Obtenir un serveur Web. Configurez un serveur Web. Téléchargez le fichier HTML. Créez un nom de domaine. Acheminez la demande.

Les stratégies d'équilibrage de charge sont cruciales dans les frameworks Java pour une distribution efficace des requêtes. En fonction de la situation de concurrence, différentes stratégies ont des performances différentes : Méthode d'interrogation : performances stables sous une faible concurrence. Méthode d'interrogation pondérée : les performances sont similaires à la méthode d'interrogation sous faible concurrence. Méthode du moindre nombre de connexions : meilleures performances sous une concurrence élevée. Méthode aléatoire : simple mais peu performante. Hachage cohérent : équilibrage de la charge du serveur. Combiné à des cas pratiques, cet article explique comment choisir des stratégies appropriées basées sur les données de performances pour améliorer significativement les performances des applications.

Pour déployer et maintenir avec succès un site Web PHP, vous devez effectuer les étapes suivantes : Sélectionnez un serveur Web (tel qu'Apache ou Nginx) Installez PHP Créez une base de données et connectez PHP Téléchargez le code sur le serveur Configurez le nom de domaine et la maintenance du site Web de surveillance DNS les étapes comprennent la mise à jour de PHP et des serveurs Web, la sauvegarde du site Web, la surveillance des journaux d'erreurs et la mise à jour du contenu.

Une tâche importante pour les administrateurs Linux est de protéger le serveur contre les attaques ou les accès illégaux. Par défaut, les systèmes Linux sont livrés avec des pare-feu bien configurés, tels que iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF), etc., qui peuvent empêcher diverses attaques. Toute machine connectée à Internet est une cible potentielle d'attaques malveillantes. Il existe un outil appelé Fail2Ban qui peut être utilisé pour atténuer les accès illégaux sur le serveur. Qu’est-ce que Fail2Ban ? Fail2Ban[1] est un logiciel de prévention des intrusions qui protège les serveurs des attaques par force brute. Il est écrit en langage de programmation Python

Aujourd'hui, je vais vous amener à installer Nginx dans l'environnement Linux. Le système Linux utilisé ici est CentOS7.2 Préparez les outils d'installation 1. Téléchargez Nginx depuis le site officiel de Nginx. La version utilisée ici est : 1.13.6.2 Téléchargez le Nginx téléchargé sur Linux Ici, le répertoire /opt/nginx est utilisé comme exemple. Exécutez "tar-zxvfnginx-1.13.6.tar.gz" pour décompresser. 3. Basculez vers le répertoire /opt/nginx/nginx-1.13.6 et exécutez ./configure pour la configuration initiale. Si l'invite suivante apparaît, cela signifie que PCRE n'est pas installé sur la machine et que Nginx doit

Après que yum ait installé keepalived, configurez le fichier de configuration keepalived. Notez que dans les fichiers de configuration keepalived du maître et de la sauvegarde, le nom de la carte réseau est le nom de la carte réseau de la machine actuelle qui est sélectionnée comme adresse IP disponible. Environnement LAN Il y en a d'autres, donc ce VIP est une IP intranet dans le même segment réseau que les deux machines. S'il est utilisé dans un environnement réseau externe, peu importe qu'il se trouve sur le même segment de réseau, du moment que le client peut y accéder. Arrêtez le service nginx et démarrez le service keepalived. Vous verrez que keepalived démarre le service nginx s'il ne peut pas démarrer et échoue, il s'agit essentiellement d'un problème avec les fichiers de configuration et les scripts, ou d'un problème de prévention.

Comment mettre en œuvre les meilleures pratiques de sécurité PHP PHP est l'un des langages de programmation Web backend les plus populaires utilisés pour créer des sites Web dynamiques et interactifs. Cependant, le code PHP peut être vulnérable à diverses failles de sécurité. La mise en œuvre des meilleures pratiques de sécurité est essentielle pour protéger vos applications Web contre ces menaces. Validation des entrées La validation des entrées est une première étape essentielle pour valider les entrées utilisateur et empêcher les entrées malveillantes telles que l'injection SQL. PHP fournit une variété de fonctions de validation d'entrée, telles que filter_var() et preg_match(). Exemple : $username=filter_var($_POST['username'],FILTER_SANIT
