Proxy, proxy inverso y equilibrador de carga
Primero, tengamos una idea sobre los servidores proxy y, después de eso, podremos comprender fácilmente los servidores proxy inversos y los balanceadores de carga.
Servidor proxy
Bueno, aquí esta figura representa una aplicación cliente-servidor simple. Todos los clientes envían sus solicitudes al proxy y luego el proxy enviará las solicitudes del cliente al servidor. Entonces, lo que básicamente hace este servidor proxy es actuar como un firewall o un escudo en el lado del cliente y administrar todas las solicitudes de los clientes y enviarlas al servidor en consecuencia. El objetivo principal de este tipo de proxy es proteger las aplicaciones de los clientes de servidores externos y otras vulnerabilidades de seguridad. ¿Por qué? Como puede ver, estos clientes y sus direcciones IP no están expuestos al mundo exterior, pero el servidor proxy se expondrá en nombre de las aplicaciones cliente. Espero que recuerde el escenario padre-hijo anterior.
Servidor proxy inverso
El concepto del Servidor Proxy Inverso es muy similar al del Servidor Proxy. Supongamos que tenemos varias instancias de servidor ejecutándose en el backend. Pero recuerde, no es necesario tener varias instancias de servidor; en algunos casos, solo habrá una instancia de servidor. En la figura anterior, puede ver que el servidor proxy inverso reside en el lado del servidor. En lugar de proteger las aplicaciones de los clientes, el proxy inverso protegerá las instancias del servidor en el backend de terceros o clientes. Por lo tanto, los clientes nunca sabrán qué instancia de servidor va a resolver sus consultas o solicitudes. Cada solicitud de cliente se filtrará en el proxy inverso y luego el servidor proxy inverso redirigirá esas solicitudes a las instancias de servidor relevantes para su posterior procesamiento.
Los servidores proxy inversos también tienen muchas otras ventajas. Estos proxies pueden almacenar en caché contenido estático y dinámico. Si los clientes solicitan el mismo recurso una y otra vez, podemos almacenar en caché ese contenido en la capa de proxy. Por lo tanto, no necesitamos tener que enviar la misma solicitud a los servidores una y otra vez. La siguiente ventaja de estos servidores proxy es que pueden comprimir los datos que pasarán por la red, usando algoritmos como gZip y Brotli. Otra ventaja importante de estos servidores proxy inversos es que pueden actuar como equilibradores de carga. Entonces, analicémoslo.
Equilibrador de carga
Como discutimos anteriormente, el servidor proxy inverso puede actuar como un balanceador de carga. Recuerde, no todos los proxy inversos actuarán como balanceadores de carga, pero cada balanceador de carga debe ser un servidor proxy inverso. Por lo tanto, la función de un equilibrador de carga es distribuir la carga de las solicitudes de los clientes entre las instancias del servidor. Por ejemplo, supongamos que tenemos una aplicación de comercio electrónico que recibe más de 5 millones de solicitudes diarias. Entonces, en el lado del servidor, si solo tenemos una instancia de servidor, no podrá sobrevivir contra un tráfico tan grande. Por lo tanto, necesitamos varias instancias de servidor para manejar dicho tráfico. Quizás se pregunte si tenemos varias instancias, ¿cómo podemos distribuir el tráfico entre esos servidores? Exactamente, ahí es donde entra en juego el Load Balancer.
El equilibrador de carga recopilará todas las solicitudes de los clientes y las distribuirá entre las instancias del servidor de acuerdo con un algoritmo. En este caso específico (figura 04) utiliza el algoritmo Round Robin para distribuir la carga entre las instancias del servidor. En el algoritmo Round-Robin, cada nueva solicitud de cliente se reenviará a la siguiente instancia de servidor vecino de forma secuencial rotatoria. Por lo tanto, en lugar de que un servidor resuelva todas las solicitudes, todos los servidores contribuirán a resolver las solicitudes de los clientes en un algoritmo adecuado y efectivo. No solo Round Robin, sino que también hay otros algoritmos como Hash, IP Hash, Least Connections, etc.
¡Frio! Eso es todo por este artículo. Gracias por leer hasta el final. Espero que hayas aprendido algo valioso. Sigue aprendiendo, sigue creciendo.
Si te gusta, dame un aplauso Sígueme en Medium

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































