Qu'est-ce que le proxy inverse et l'équilibrage de charge ?
PHP中文网
PHP中文网 2017-05-16 17:23:38
0
3
641

En regardant l'explication sur l'Encyclopédie Baidu, je ne sais pas pourquoi c'est trop abstrait et incompréhensible. J'espère que les seniors pourront me donner des conseils. Merci

.
PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(3)
曾经蜡笔没有小新

Équilibrage de charge

Tout d’abord, parlons de Équilibrage de charge Si votre site Web est visité par un grand nombre d’utilisateurs et qu’un serveur est trop occupé, alors plusieurs serveurs sont nécessaires. Mais les utilisateurs doivent accéder à votre site Web via une adresse. Vous pouvez utiliser cette adresse pour créer un serveur d'équilibrage de charge et répartir uniformément les requêtes sur plusieurs serveurs d'applications en arrière-plan.

Proxy inversé

Alors, comment distribuer des requêtes à plusieurs serveurs d'applications en arrière-plan via un serveur d'équilibrage de charge peut être réalisé via un proxy inverse.
Le serveur d'équilibrage de charge ne gère pas la logique métier. La requête HTTP de l'utilisateur est envoyée à Nginx, et Nginx envoie la requête au serveur d'applications en arrière-plan, qui traite la requête une fois le traitement terminé, la réponse HTTP est envoyée à Nginx par le serveur d'applications, et enfin au client. Il s'agit d'un proxy inverse. Nginx n'est qu'un pont qui connecte le client et le serveur d'applications (comme le montre l'image ci-dessus).

PS : L'équilibrage de charge peut être obtenu via le proxy inverse, mais le proxy inverse n'est pas le seul moyen d'y parvenir. Dans le même temps, le proxy inverse peut remplir de nombreuses fonctions, pas seulement l'équilibrage de charge.

Enfin, voici un blog que j'ai écrit pour vous aider à démarrer avec Nginx :
http://xxgblog.com/2015/05/17/nginx-start/

为情所困

Si l'application Web que vous écrivez est directement exposée au réseau externe, elle ne sera pas en mesure de gérer davantage de requêtes externes et ne recevra pas de réponse du tout et devra faire face à de nombreux problèmes de réseau complexes (tels que la lenteur). connexions). À ce stade, utilisez Nginx pour recevoir les demandes externes au milieu, bloquer les mauvaises demandes (délais d'attente, connexions lentes) et les transmettre à Web App de manière ordonnée.

Lorsque les demandes sont volumineuses, vous démarrerez plusieurs serveurs. À ce stade, Nginx peut distribuer les requêtes vers différents serveurs selon les règles que vous définissez (par exemple, il y a deux serveurs A et B. A est occupé à ce moment et B est inactif, il distribuera donc plus de requêtes à B) . C'est l'équilibrage de charge.

phpcn_u1582

Supposons qu'il y ait trois médecins à l'hôpital qui traitent des patients et que leurs niveaux techniques sont exactement les mêmes. Une infirmière est chargée de recevoir les patients. Lorsque vous allez voir un médecin, vous allez voir l'infirmière et lui dites : « Je veux voir un médecin. » L'infirmière vérifie la disponibilité de trois médecins. Oh, le docteur A a trois patients en attente, le docteur C a également deux patients. , et le docteur B n'a pas de patients. Vous allez chez le docteur B. . Le médecin est la ressource du service, l’infirmière est l’agent inverse et le patient est la charge. L'équilibrage de charge consiste à permettre aux ressources du service d'être utilisées de manière équilibrée. Le but du proxy inverse est d’équilibrer la charge.
Il existe de nombreux types d'algorithmes de planification pour le proxy inverse. Par exemple, le plus simple est l'allocation 1 pour 1. Le premier patient est attribué au médecin A, le deuxième patient est attribué au médecin B, le troisième patient est attribué au médecin C. et le quatrième patient est confié au docteur A. Docteur A... et ainsi de suite. Il existe de nombreux autres algorithmes que vous pouvez consulter.
Pourquoi parle-t-on de proxy inverse ? Si vous avez escaladé le mur, vous saurez que surmonter le mur repose sur un serveur proxy. Nous nous connectons au serveur proxy, et le serveur proxy accède à d'autres sites Web. Cela peut être compris comme un proxy direct. Un proxy inverse est tout le contraire.
Il peut être simplement compris comme un proxy direct, où le serveur proxy se trouve du côté client. Proxy inverse, le serveur proxy est côté serveur.

De plus, le proxy inverse n'est pas seulement effectué par nginx, Apache peut également le faire.

C'est une déclaration approximative et est organisée selon ma propre compréhension. S'il peut y avoir des erreurs, n'hésitez pas à en discuter.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal