Solution d'équilibrage de charge de site Web

藏色散人
Libérer: 2019-05-03 23:15:35
avant
4483 Les gens l'ont consulté

L'équilibrage de charge Web (Load Balancing), en termes simples, consiste à allouer des « tâches de travail » à notre cluster de serveurs, et l'utilisation de méthodes d'allocation appropriées est très importante pour protéger les serveurs Web back-end.

Solution déquilibrage de charge de site Web

Équilibrage de charge du proxy inverse

Le travail principal du service de proxy inverse consiste principalement à transmettre les requêtes HTTP, jouant le rôle de le navigateur et le rôle de relais du serveur web backend. Parce qu'il fonctionne au niveau de la couche HTTP (couche application), qui est la septième couche de la structure réseau à sept couches, il est également appelé « équilibrage de charge à sept couches ». Il existe de nombreux logiciels qui peuvent être utilisés comme proxy inverse, et l'un des plus courants est Nginx.

Solution déquilibrage de charge de site Web

Nginx est un logiciel de proxy inverse très flexible qui peut librement personnaliser les stratégies de transfert, allouer le poids du trafic du serveur, etc. Dans le proxy inverse, un problème courant concerne les données de session stockées par le serveur Web, car la stratégie générale d'équilibrage de charge alloue les requêtes de manière aléatoire. Il n'y a aucune garantie que les requêtes du même utilisateur connecté seront allouées à la même machine Web, ce qui entraînera le problème d'une session introuvable.

Il existe deux solutions principales :

Configurer les règles de redirection du reverse proxy pour que les requêtes d'un même utilisateur doivent tomber sur la même machine (en analysant les cookies) , les règles de transfert complexes consommeront plus de CPU et augmenteront la charge du serveur proxy.

Il est recommandé d'utiliser un service indépendant pour stocker des informations telles que la session, comme redis/memchache.

Le service de proxy inverse peut également activer la mise en cache, s'il est activé, cela augmentera la charge du proxy inverse et doit être utilisé avec prudence. Cette stratégie d'équilibrage de charge est très simple à mettre en œuvre et à déployer, et ses performances sont relativement bonnes. Cependant, il présente le problème du « point de défaillance unique ». S'il se bloque, cela causera beaucoup de problèmes. De plus, à mesure que le nombre de serveurs Web continue d'augmenter au cours des étapes ultérieures, il peut lui-même devenir un goulot d'étranglement du système.

Exemple de fichier de configuration :

#user nobody; worker_processes 1; #pid logs/nginx.pid; events { 
    worker_connections 1024; } http { 
    include mime.types; 
    default_type application/octet-stream; 
    sendfile on;  
    keepalive_timeout 65; 
    upstream www.hcoder.net { 
        server 192.168.1.188:80 weight=5; 
        server 192.168.1.158:80; 
    } 
    server { 
    listen 80; 
    server_name www.hcoder.net; 
    location / { 
       proxy_pass http://www.hcoder.net; 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
   } }
Copier après la connexion

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!

Étiquettes associées:
source:hcoder.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal