Maison  >  Article  >  Opération et maintenance  >  Quelles sont les caractéristiques des équilibreurs de charge LVS, Nginx et HAProxy ?

Quelles sont les caractéristiques des équilibreurs de charge LVS, Nginx et HAProxy ?

PHPz
PHPzavant
2023-05-17 10:40:11780parcourir

Caractéristiques de LVS :

1. Forte résistance à la charge, utilisant la technologie d'équilibrage de charge IP, uniquement la distribution, de sorte que LVS lui-même ne génère pas beaucoup de trafic
2. Bonne stabilité et fiabilité, avec une solution de sauvegarde à chaud parfaite (telle que : lvs+keepalived)
3. La gamme d'applications est relativement large et peut équilibrer la charge de toutes les applications ;
4 Elle ne prend pas en charge le traitement régulier et ne peut pas séparer les dynamiques et les statiques.
Quatre algorithmes couramment utilisés :
1.rr : round-robin, alloué tour à tour aux serveurs back-end ;
2.wrr : round-robin pondéré, alloué en fonction de la charge du serveur back-end ; : connexion minimale, l'allocation a été établie Sur le serveur avec le moins de connexions ;
4.wlc : La connexion avec le plus petit poids est allouée en fonction de la capacité de traitement du serveur back-end.
Vous pouvez utiliser ipvsadm -p (persistance) pour maintenir la session, la valeur par défaut est 300/s

Fonctionnalités nginx :
1. Fonctionne sur la couche 7, peut effectuer un traitement régulier des règles (telles que : détournement pour les noms de domaine et ; répertoires)
2. La configuration est simple et la fonction de chargement peut être exécutée si elle peut être pingée. L'état du serveur back-end peut être détecté via le port et la détection d'URL n'est pas prise en charge
3. , utilisant le modèle de réseau epoll pour traiter les demandes des clients ;
4. Prend uniquement en charge http et le courrier électronique et a un champ d'application relativement restreint ;
5.nginx est principalement un serveur http et proxy inverse, avec une faible consommation de ressources système.
Quatre algorithmes couramment utilisés :
1.rr : interrogation (par défaut), attribuée tour à tour aux serveurs backend ;
2.weight : alloué en fonction des performances du serveur backend
3.ip_hash : résultat de hachage de chaque requête en fonction de l'allocation IP d'accès ; , les heures de simultanéité sont appropriées et résolvent le problème de session ;
4.fair : (Stratégie d'extension), le noyau nginx n'est pas compilé par défaut, la charge est jugée en fonction du temps de réponse du serveur back-end, et du plus léger est sélectionné pour le traitement.

Fonctionnalités haproxy : 1. Prend en charge deux modes proxy : TCP (couche quatre) et http (couche sept) et prend en charge les hôtes virtuels ; Configuration simple, prend en charge la détection d'URL de l'état du serveur principal ;
2. Il n'est utilisé que pour les logiciels d'équilibrage de charge. Dans les situations de concurrence élevée, la vitesse de traitement est supérieure à celle de nginx
3. La couche TCP est principalement utilisée pour l'équilibrage de charge des serveurs esclaves (lecture) MySQL.
Quatre algorithmes couramment utilisés :
1.roundrobin : sondage, attribué tour à tour aux serveurs backend ;
2.static-rr : alloué en fonction des performances du serveur backend ;
3.leastconn : le plus petit connecteur est traité en premier ; : Basé sur l'adresse IP source de la requête, similaire à l'ip_hash de nginx.
Pourquoi devrions-nous résoudre le problème de session ?
Dans un environnement d'équilibrage de charge, chaque utilisateur peut avoir un accès irrégulier au serveur backend. Dans certaines applications, il est nécessaire d'exiger que toutes les requêtes auxquelles le même utilisateur accède au cours d'une certaine période de temps soient affectées au même serveur backend pour traitement. . Par exemple : sites de commerce électronique, pages d'enregistrement des utilisateurs, etc., une fois la page actualisée, elle sera attribuée à un autre serveur sur le backend, et les informations de la page précédente disparaîtront. Dans ce cas, les mêmes. le serveur sera assigné pour traiter la demande est crucial !

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