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.
3 votos
Buena explicación de Nginx: nginx.com/resources/glossary/reverse-proxy-vs-load-balancer