Maison > Opération et maintenance > Nginx > Quels sont les modes permettant à nginx d'implémenter l'équilibrage de charge ?

Quels sont les modes permettant à nginx d'implémenter l'équilibrage de charge ?

王林
Libérer: 2020-06-24 17:28:38
avant
8013 Les gens l'ont consulté

Cet article provient du tutoriel nginx. Il présente plusieurs modes de nginx pour réaliser l'équilibrage de charge. Il a une certaine valeur de référence et j'espère qu'il pourra aider tout le monde. nginx implémente le mode d'équilibrage de charge : 1. Polling ; 2. ip_hash ; 3. url_hash ;

Quels sont les modes permettant à nginx d'implémenter l'équilibrage de charge ?

(Tutoriel recommandé : Tutoriel nginx)

nginx dispose de plusieurs modes pour implémenter l'équilibrage de charge :

1. Sondage

Chaque requête est attribuée à différents serveurs backend un par un dans l'ordre chronologique, ce qui est également le mode par défaut de nginx. La configuration du mode polling est très simple, il suffit d'ajouter la liste des serveurs au module amont.

La configuration suivante signifie : il y a trois serveurs dans la charge Lorsqu'une requête arrive, nginx alloue la requête aux trois serveurs par ordre chronologique.

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    }
Copier après la connexion

2. ip_hash

Chaque requête est allouée en fonction du résultat de hachage de l'IP d'accès, et le même client IP accède toujours à un serveur back-end. Il peut garantir que les requêtes provenant de la même adresse IP sont envoyées à une machine fixe, ce qui peut résoudre le problème de session.

La configuration suivante signifie : il y a trois serveurs dans la charge. Lorsqu'une requête arrive, nginx donnera la priorité à son allocation en fonction du résultat de ip_hash, c'est-à-dire que la requête pour la même IP est fixée sur. un certain serveur, et les autres seront alloués en fonction du résultat de ip_hash. La séquence temporelle distribue les requêtes à trois serveurs pour traitement.

upstream serverList {
    ip_hash
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
}
Copier après la connexion

3. url_hash

Les requêtes sont allouées en fonction du résultat de hachage de l'URL consultée. La même URL est toujours transmise au même serveur backend pour traitement.

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    hash $request_uri; 
    hash_method crc32; 
}
Copier après la connexion

4. juste

Les requêtes sont allouées en fonction du temps de réponse du serveur backend, et celles avec des temps de réponse courts sont allouées en premier.

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    fair;
}
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:juejin.im
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