Maison  >  Article  >  Opération et maintenance  >  Comment nginx parvient-il à équilibrer la charge ?

Comment nginx parvient-il à équilibrer la charge ?

(*-*)浩
(*-*)浩original
2019-11-01 10:25:175605parcourir

Nginx (« moteur x ») est un serveur Web et proxy inverse hautes performances développé par le programmeur russe Igor Sysoev. C'est également un serveur proxy IMAP/POP3/SMTP.

Comment nginx parvient-il à équilibrer la charge ?

Dans le cas d'une forte concurrence de connexions, Nginx est une bonne alternative au serveur Apache.

Équilibrage de charge : L'équilibrage de charge est également une fonction couramment utilisée de Nginx. Lorsque le nombre de visites par unité de temps d'un serveur est plus grand, la pression sur le serveur sera plus grande, pour. au point qu'il dépasse sa propre capacité d'endurance, le serveur plante. Afin d'éviter les pannes de serveur et d'offrir aux utilisateurs une meilleure expérience, nous utilisons l'équilibrage de charge pour partager la pression du serveur. (Apprentissage recommandé : Tutoriel nginx)

Nous pouvons construire de très nombreux serveurs pour former un cluster de serveurs. Lorsque les utilisateurs visitent le site Web, ils accèdent d'abord à un serveur intermédiaire, puis laissent cet intermédiaire. serveur exécuté sur le serveur Sélectionnez un serveur avec moins de pression dans le cluster, puis introduisez la demande d'accès à ce serveur.

De cette façon, chaque fois qu'un utilisateur visite, cela garantira que la pression de chaque serveur du cluster de serveurs tend à être équilibrée, partageant la pression du serveur et évitant les pannes de serveur. La configuration de l'équilibrage de charge nécessite généralement la configuration simultanée d'un proxy inverse et le passage à l'équilibrage de charge via le proxy inverse.

nginx fournit les trois mécanismes et méthodes d'équilibrage de charge suivants :

round-robin - les requêtes sont distribuées aux serveurs d'applications de manière circulaire.

le moins connecté — la requête suivante est attribuée au serveur avec le moins de connexions actives

ip-hash — utilise une fonction de hachage pour déterminer où la prochaine requête doit être basée sur le Adresse IP du client Sur quel serveur distribuer.

Configuration d'équilibrage de charge par défaut

http {
   upstream myapp1 {
       server srv1.example.com;
       server srv2.example.com;
       server srv3.example.com;
   }
  
   server {
       listen 80;
  
       location / {
           proxy_pass http://myapp1;
       }
   }
}

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:
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