Maison  >  Article  >  Opération et maintenance  >  Comment implémenter la configuration d'interrogation d'équilibrage de charge dans nginx

Comment implémenter la configuration d'interrogation d'équilibrage de charge dans nginx

PHPz
PHPzavant
2023-05-18 17:58:212268parcourir

1. Présentation

L'amont de Nginx prend actuellement en charge l'algorithme d'allocation :
1. Sondage round-robin 1:1 pour traiter les demandes à tour de rôle (par défaut)
Chaque demande est allouée à différents serveurs d'applications un par un dans l'ordre chronologique. serveur d'applications En panne, il sera automatiquement éliminé et les autres continueront d'être interrogés.
2. Poids (interrogation pondérée)
En configurant le poids, spécifiez la probabilité d'interrogation, le poids est proportionnel au taux d'accès et est utilisé pour les performances inégales du serveur d'applications.
3. Algorithme de hachage ip_hash
Chaque requête est allouée en fonction du résultat de hachage de l'IP accédée, de sorte que chaque visiteur ait un accès fixe à un serveur d'applications, ce qui peut résoudre le problème du partage de session. Si le serveur d'applications tombe en panne, il doit être arrêté manuellement.
Signification du paramètre :
down : Indique que le serveur précédent ne participera pas temporairement au chargement
weight : La valeur par défaut est 1. Plus le poids est élevé, plus le poids de la charge est important.
max_fails : Le nombre d'échecs de requêtes autorisés est par défaut de 1. Lorsque le nombre maximum est dépassé, l'erreur définie par le module proxy_next_upstream est renvoyée
fail_timeout : Le temps de pause après les échecs max_fails.
Sauvegarde : lorsque toutes les autres machines non sauvegardées sont en panne ou occupées, demandez la machine de sauvegarde.

2. Configuration

Comment implémenter la configuration dinterrogation déquilibrage de charge dans nginx

Comment implémenter la configuration dinterrogation déquilibrage de charge dans nginx

1. Sondage à tour de rôle (par défaut)

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

Résultat d'accès : ABABABABA

2. : poids Les personnes concernées les résultats d'accès sont calculés en fonction de la proportion minimale, et non de l'état idéal : AABBBBB AABBBBB

3, ip_hash

upstream tg-t4 {
    server 10.0.0.110:8099 weight=2;
    server 10.0.0.110:8098 weight=5;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

Résultats d'accès :

IP1:AAAAAA

IP2:BBBBBB

4, veille chaude

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098;
    ip_hash;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

résultat d'accès :

Visite 1 : Les deux services sont normaux. AAAAAA

Accès 2 : Désactivé 10.0.0.110:8099. BBBBBB

Accès 3 : Redémarrez 10.0.0.110:8099. AAAAAA

5. Ajouter un paramètre d'optimisation

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098 backup;
}

server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

Résultat d'accès : identique à 4

la sauvegarde a la priorité la plus élevée. Lorsque ce paramètre est défini, le service correspondant ne peut être utilisé que comme sauvegarde à chaud.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer