189 votos

¿Cuál es la diferencia entre Load Balancer y Reverse Proxy?

No tengo clara la diferencia entre el equilibrador de carga y el proxy inverso. Ambos parecen tener el mismo comportamiento: distribuir las solicitudes entrantes a los servidores de respaldo.

3 votos

186voto

suraj jain Puntos 111

Su confusión es razonable, a menudo son la misma cosa. Pero no siempre. Cuando se refiere a un equilibrador de carga se refiere a algo muy específico - un servidor o dispositivo que equilibra las solicitudes entrantes a través de dos o más servidores web para repartir la carga. Un proxy inverso, sin embargo, tiene típicamente cualquier número de características:

  1. balanceo de carga: como se discutió anteriormente

  2. caching: puede almacenar en caché el contenido del servidor o servidores web que se encuentran detrás de él y así reducir la carga del servidor o servidores web y devolver algún contenido estático al solicitante sin tener que obtener los datos del servidor o servidores web

  3. seguridad: puede proteger el servidor o servidores web impidiendo el acceso directo desde Internet; puede hacerlo por medios sencillos simplemente ofuscando el servidor o servidores web o puede tener algunos componentes más activos que realmente revisan las solicitudes entrantes en busca de código malicioso

  4. Aceleración de SSL: cuando se utiliza SSL, puede servir como punto de terminación de esas sesiones SSL para que la carga de trabajo de tratar con el cifrado se descargue del servidor o servidores web

Creo que esto cubre la mayor parte, pero probablemente hay algunas otras características que he pasado por alto. Ciertamente no es raro ver un dispositivo o pieza de software comercializado como un balanceador de carga / proxy de reversa, porque las características son tan comúnmente agrupadas.

6 votos

+pooling de conexiones (permitir múltiples peticiones en una conexión del frontend cuando el backend no lo maneja bien; o reutilizar la conexión del backend para múltiples conexiones del frontend)

1 votos

+compresión La compresión de las respuestas del servidor antes de devolverlas al cliente (por ejemplo, con gzip) reduce la cantidad de ancho de banda que requieren, lo que acelera su tránsito por la red

1 votos

Ha pasado una década y estoy comentando este post ahora:). El punto 3 también debería aplicarse a los equilibradores de carga, ya que los servidores están detrás de los equilibradores de carga y ese es el único punto de entrada para llegar a los servidores de aplicaciones?

44voto

Además, un proxy inverso es específico de los servidores web.

Los equilibradores de carga, sin embargo, pueden ocuparse de muchos otros protocolos. Mientras que la web (HTTP) es la gran idea hoy en día, cosas como el DNS, el correo (SMTP, IMAP), etc. también pueden ser equilibrados en carga. Es sólo que hoy en día, cuando la mayoría de la gente piensa en "Internet" o "red IP", piensa en la web. Hay un montón de cosas más por ahí que pueden ser más oscuras, o más de un nicho.

23voto

Brian Tillman Puntos 460

Mientras que el resultado neto (la distribución de las solicitudes entre los servidores) es el mismo entre varios equilibradores de carga y proxies inversos, la diferencia está en el método utilizado para distribuir las solicitudes.

Algunos equilibradores de carga equilibran el tráfico usando DNS, resolviendo el mismo nombre a diferentes IPs en un round robin redirigiendo efectivamente las solicitudes. Esto a menudo puede ser útil cuando se balancean solicitudes de carga entre centros de datos u otras ubicaciones físicas. Esta es una mala elección si necesitas un fallo "instantáneo", ya que estás a merced del servidor DNS de tu cliente para honrar el TTL que has proporcionado. El GSS (Global Site Selector) de Cisco es un buen ejemplo de equilibrio de carga basado en DNS.

Otros equilibradores de carga trabajan reescribiendo los encabezados de los paquetes destinados a una IP virtual a la IP real de un servidor en una granja. Esto proporciona un balanceo de carga en tiempo real y un fallo casi instantáneo. Un ejemplo de esto sería el CSM (Content Switching Module) de Cisco

Observe que en los dos ejemplos anteriores, hay una conversación TCP entre el cliente y el servidor.

Un proxy inverso funciona aceptando la solicitud en nombre del servidor web y luego haciendo eco de esa solicitud al servidor web y devolviéndola al cliente, opcionalmente almacenando los resultados en caché en caso de que se produzca una solicitud similar.

Tenga en cuenta que el cliente nunca establece realmente una conexión con el servidor web, sino que la conversación es estrictamente entre el proxy y el cliente.

16voto

Kris Roofe Puntos 138

Un equilibrador de carga puede equilibrar el tráfico desde la capa 3 hasta la capa 7, pero un proxy inverso es específico para HTTP.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X