Je ne comprends pas bien la différence entre Load Balancer et Reverse Proxy. Ils semblent tous les deux avoir le même comportement: distribuer les demandes entrantes aux serveurs principaux.
load-balancing
reverse-proxy
Morgan Cheng
la source
la source
Réponses:
Votre confusion est raisonnable - ils sont souvent la même chose. Mais pas toujours. Lorsque vous faites référence à un équilibreur de charge, vous faites référence à un élément très spécifique: un serveur ou un périphérique qui équilibre les demandes entrantes sur deux serveurs Web ou plus afin de répartir la charge. Un proxy inverse, cependant, a généralement un certain nombre de fonctionnalités:
équilibrage de charge: comme discuté ci-dessus
mise en cache: il peut mettre en cache le contenu du ou des serveurs Web qui se trouvent derrière, réduisant ainsi la charge sur le ou les serveurs Web et renvoyant du contenu statique au demandeur sans avoir à récupérer les données du ou des serveurs Web.
sécurité: il peut protéger le (s) serveur (s) Web en empêchant un accès direct depuis Internet; Pour ce faire, il peut utiliser des moyens simples en masquant simplement le ou les serveurs Web, ou peut comporter des composants plus actifs qui analysent les demandes entrantes à la recherche de code malveillant.
Accélération SSL: lorsque SSL est utilisé; il peut servir de point de terminaison pour ces sessions SSL afin que la charge de travail liée au chiffrement soit déchargée du ou des serveurs Web.
Je pense que cela couvre l'essentiel, mais il y a probablement quelques autres fonctionnalités que j'ai ratées. Certes, il n'est pas rare de voir un périphérique ou un logiciel commercialisé comme équilibreur de charge / proxy inverse, car les fonctionnalités sont si souvent regroupées.
la source
En outre, un proxy inverse est spécifique aux serveurs Web.
Les équilibreurs de charge peuvent cependant traiter beaucoup d'autres protocoles. Bien que le Web (HTTP) soit la grande idée de nos jours, des éléments tels que le DNS, la messagerie (SMTP, IMAP), etc. peuvent également être équilibrés. C'est à l'heure actuelle que la plupart des gens pensent «Internet» ou «réseau IP», ils pensent au Web. Il y a beaucoup d'autres choses qui peuvent être plus obscures, ou plus d'une niche.
la source
Bien que le résultat net (distribution des requêtes entre les serveurs) soit le même entre les différents équilibreurs de charge et les serveurs mandataires inversés, la différence réside dans la méthode utilisée pour distribuer les requêtes.
Certains équilibreurs de charge équilibrent le trafic à l'aide de DNS, résolvant le même nom en différentes adresses IP lors d'une répétition alternée redirigeant efficacement les demandes. Cela peut souvent être utile lors de demandes d'équilibrage de charge entre des centres de données ou d'autres emplacements physiques. C'est un mauvais choix si vous avez besoin d'un basculement «instantané», car vous êtes à la merci du serveur DNS de vos clients pour respecter le TTL que vous avez fourni. GSS (Global Site Selector) de Cisco est un bon exemple d'équilibrage de charge basé sur DNS.
D'autres équilibreurs de charge fonctionnent en réécrivant les en-têtes de paquet destinés à une adresse IP virtuelle sur l'adresse IP réelle d'un serveur d'une batterie. Cela fournit un équilibrage de la charge en temps réel et un basculement quasi instantané. Un exemple de ceci serait le CSM (module de commutation de contenu) de Cisco
Notez que dans les deux exemples ci-dessus, il existe une conversation TCP entre le client et le serveur.
Un proxy inverse fonctionne en acceptant la demande pour le compte du serveur Web, puis en renvoyant cette demande au serveur Web et en la renvoyant au client, mettant éventuellement en cache les résultats si une demande similaire suivait.
Notez que le client n'établit jamais réellement de connexion au serveur Web. la conversation est plutôt strictement entre le proxy et le client.
la source
Un équilibreur de charge peut équilibrer le trafic de la couche 3 à la couche 7, mais un proxy inverse est spécifique à HTTP.
la source
Un proxy inverse accepte une demande d'un client, la transfère à un serveur qui peut y répondre et renvoie la réponse du serveur au client (ce qui signifie qu'un serveur situé derrière le proxy inverse peut communiquer avec des caractéristiques quelque peu différentes d'un protocole ou d'un protocole différent. )
Un équilibreur de charge répartit les demandes client entrantes sur un groupe de serveurs, renvoyant la réponse du serveur sélectionné au client approprié.
la source