Maison  >  Article  >  Opération et maintenance  >  La différence entre nginx et haproxy

La différence entre nginx et haproxy

(*-*)浩
(*-*)浩original
2019-06-04 17:07:596252parcourir

Pour les chargements légers, nous savons tous que les solutions grand public incluent LVS, Haproxy et Nginx ! Alors comment choisir entre Haproxy et Nginx ? Avant de répondre à cette question, permettez-moi de parler de leurs caractéristiques en me basant sur mon expérience personnelle !

La différence entre nginx et haproxy

Caractéristiques de Haproxy

Prend en charge les protocoles TCP et HTTP, fonctionnant sur les couches réseau 4 et 7

Prend en charge le partage de session et le guidage des cookies

Prend en charge la détection de l'état des URL

Prend en charge 8 stratégies d'équilibrage de charge

Prend en charge la détection du rythme cardiaque

Fonctionnalités Nginx

Prise en charge du protocole Http, fonctionnant sur la couche réseau 7

Prise en charge de la détection de l'état des ports

Prise en charge de puissantes règles de correspondance régulières

Prise en charge du protocole WebSocket

Prise en charge du cache Http

Remarque :

Pour le protocole Http, l'efficacité du traitement Haproxy est supérieure à celle de Nginx. Par conséquent, lorsqu'il n'y a pas d'exigences particulières ou de scénarios généraux, il est recommandé d'utiliser Haproxy pour le chargement du protocole HTTP ! Mais s’il s’agit du Web, alors il est recommandé d’utiliser Nginx. Bref, chacun peut faire un choix raisonnable en fonction des caractéristiques de ses scénarios d’utilisation respectifs !

La dernière fois que quelqu'un m'a demandé : le nombre de connexions de Nginx ou Haproxy peut-il briser la « malédiction » du « 65535 » ? En fait, tout le monde se pose de telles questions car ils ne comprennent pas le principe de fonctionnement de Nginx ou Haproxy !

Ce qui suit prend le serveur Linux comme exemple pour expliquer le nombre maximum théorique de connexions entre les deux :

Nombre maximum théorique de connexions pour Nginx sous Linux

Proxy inverse correct : nombre maximum de connexions = work_processes * worker_connections
Proxy inverse : nombre maximum de connexions = work_processes * worker_connections / 4
Remarque : worker_connections fait référence au nombre maximum de connexions qu'un seul processus peut handle. Supposons que votre serveur dispose de 8 cœurs. worker_connections =
65535 (peut être personnalisé, mais le nombre maximum de descripteurs de fichiers ne peut pas être dépassé, car 1 connexion équivaut à utiliser 1 descripteur de fichier)

Maximum. connexions dans les deux cas ci-dessus Les nombres (valeurs théoriques) sont : 8 * 65535 et 8 * 65535 /4

Nombre maximum théorique de connexions pour Haproxy sous Linux

Nombre maximum de connexions = maxconn( global | defaults | Listen )

Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel d'utilisation de Nginx pour apprendre !

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