Pregunta de la entrevista 35: ¿Cuáles son las formas de lograr el equilibrio de carga?

La pregunta de hoy es: ¿qué problema está diseñado para resolver el equilibrio de carga? ¿Cuáles son las formas de lograr el equilibrio de carga?

Problema resuelto

Distribuya las solicitudes de los usuarios a varios servidores (más recursos) para resolver el problema de la alta concurrencia.

Equilibrio de carga de hardware

El costo es relativamente alto y la concurrencia es de millones, como F5;

Software de equilibrio de carga

Equilibrio de carga de redireccionamiento HTTP

image.png

El proceso de equilibrio de carga es como se muestra arriba:

1 Solicitud al servidor de equilibrio de carga,

2 De acuerdo con el algoritmo de equilibrio, devuelva 304, redirija al servidor responsable del cálculo de la IP al navegador,

3 El navegador solicita directamente al servidor que es realmente responsable del cálculo,

4 Finalmente, el servidor que realmente calculó responde al navegador del cliente.

Desventajas

1. La solicitud pasa por dos servidores (servidor de equilibrio de carga, servidor informático real), lo que aumenta el tiempo de respuesta.

2. La IP de la red pública del servidor expuesta a la carga real del navegador, la seguridad es relativamente baja.

Implementación de código Java:

response.sendRedirct("http://ip/xxxService?parama=a");

Equilibrio de carga de DNS

image.png
El proceso de equilibrio de carga es como se muestra arriba:

1. El usuario solicita el nombre de dominio y solicita al servidor DNS;

2. El servicio DNS devuelve la dirección IP resuelta al cliente, no está expuesto al navegador para su redirección;

3. El cliente obtiene la IP del servidor devuelta responsable del cálculo y solicita el servidor;

4. El servidor de cálculo devuelve la información de respuesta;

Mejora:

1. No es necesario solicitar la carga de IP cada vez, se puede almacenar en caché y reutilizar para mejorar el rendimiento;

2. dns no necesita exponer la IP calculada real del servidor (no se redirige al navegador, y se realiza el segundo equilibrio de carga, la IP de la intranet no estará expuesta), la seguridad es un poco mejor;

Este método adoptado en diferentes lugares y múltiples actividades, una ip resuelve la IP de diferentes regiones para lograr el primer nivel de equilibrio de carga, y luego realiza un equilibrio de carga de segundo nivel basado en la ip regional;

Equilibrio de carga proxy inverso

image.png

El proceso de equilibrio de carga es el siguiente:

1. El cliente inicia una solicitud al servidor de equilibrio de carga, y el servidor de equilibrio de carga obtiene la IP de carga de acuerdo con el algoritmo;

2. El servidor de equilibrio de carga construye la solicitud y solicita al servidor informático la carga de la intranet;

3. El servidor de cálculo devuelve el resultado de la respuesta al servidor de equilibrio de carga;

4. El servidor de equilibrio de carga devuelve el resultado de la respuesta al cliente.

Por ejemplo nginx, apache

Desventajas: el equilibrio de carga basado en la capa http es un protocolo relativamente pesado, con una eficiencia ligeramente menor;

Generalmente aplicable a grupos relativamente pequeños, escala 10+;

Balanceo de carga en la capa IP

image.png
Para reemplazar la dirección IP de la capa de red, no necesita trabajar en la capa http y reemplazar directamente la dirección en el paquete de datos IP del núcleo del sistema operativo. La eficiencia es mayor que el proxy inverso basado en la capa HTTP.
Proceso de equilibrio de carga:

1. El cliente solicita el servidor de equilibrio de carga;

2. El servidor de equilibrio de carga cambia la IP de destino a la IP de la máquina de la intranet;

3. Después de calcular la máquina de la intranet, la IP de respuesta se cambia a la dirección de la intranet de la ip del servidor de equilibrio de carga;

4. El servidor de equilibrio de carga cambia la IP de respuesta a su propia IP de red externa y devuelve el resultado al cliente;

Desventajas

La solicitud y la capacidad de respuesta deben ser reemplazadas por la capa de IP a través del servidor de equilibrio de carga, y los datos de respuesta se convertirán en un cuello de botella en el período posterior.

Balance de carga de la capa de enlace de datos

image.png
Resuelva el problema de los datos de respuesta demasiado grandes y la baja eficiencia.
Al modificar la dirección mac de la capa de enlace de datos, ip utiliza una IP virtual para lograr el equilibrio de carga.

Proceso de equilibrio de carga:

1. El cliente solicita el servidor de equilibrio de carga;

2. El servidor de equilibrio de carga reemplaza la dirección mac como el servidor informático, e Ip es la ip del servidor de equilibrio de carga;

3. El servidor informático responde directamente a los datos al cliente;

Este método de equilibrio de carga tiene el mayor rendimiento, y las grandes empresas de Internet utilizan este método de equilibrio de carga.

El equilibrio de carga LVS es un método de equilibrio de carga que combina la capa IP y la capa de enlace de datos. Linux puede lograr estos dos métodos de equilibrio de carga a través de la configuración.

Resumen

Este artículo comienza con el propósito del equilibrio de carga, es decir, para hacer frente a la alta concurrencia, la solicitud se distribuye a más servidores.

De simple a complejo, introdujimos la redirección HTTP para lograr el equilibrio de carga, el DNS para lograr el equilibrio de carga, el proxy inverso para lograr el equilibrio de carga, la capa IP para lograr el equilibrio de carga y la capa de enlace de datos para lograr el equilibrio de carga. Una imagen vale más que mil palabras, dando el proceso de equilibrio de carga.

En general, el equilibrio de carga de la capa de enlace de datos y DNS se usa comúnmente.

image.png

¡La originalidad no es fácil, como, seguir y apoyar! Reimprima, indique la fuente, comunicémonos entre nosotros, avancemos juntos, bienvenidos a comunicarnos.
Continuaré compartiendo el conocimiento de la programación de software Java y la trayectoria profesional de los programadores. Bienvenido a prestar atención. ¡He organizado varios recursos para programar y aprender a lo largo de los años, prestar atención al número público "Salida continua de Li Fuchun" y enviar "materiales de aprendizaje" para compartir con ustedes!

Supongo que te gusta

Origin www.cnblogs.com/snidget/p/12673461.html
Recomendado
Clasificación