|
|
Publicado en 14/6/2020 11:50:26
|
|
|
|

Llevo más de 6 años usando el balanceo de carga de Alibaba Cloud, y llevo más de 6 años usando nginx.
El balanceo de carga se basa en estructuras de red existentes y proporciona una forma económica, eficaz y transparente de escalar el ancho de banda del equipo y los servidores, aumentar el rendimiento, mejorar las capacidades de procesamiento de datos de red y mejorar la flexibilidad y disponibilidad de la red. El balanceo de carga significa que se distribuye a múltiples unidades operativas, como servidores web, servidores FTP, servidores de aplicaciones críticas para la empresa y otros servidores críticos para la misión, para completar conjuntamente las tareas de trabajo. En pocas palabras, distribuye múltiples solicitudes a diferentes servidores en el backend para reducir la presión sobre cada servidor y lograr alta disponibilidad; incluso si uno se cuelga, no tiene impacto.
En primer lugar
Instalé node.js de forma nativa e instalé un servidor http para emular dos contenedores web. (Usa IIS, o implementa el protocolo HTTP con tu propio código)
Después de instalar node.js, ejecuta el siguiente comando:
Simular dos sitios backend
Creé dos carpetas nuevas, site1 y site2, bajo el directorio E:\wwwroot, cada una con un archivo index.html dentro.
El contenido es: índice 1 by:itsvse.com e índice 2 by:itsvse.com
Luego, escucha los dos puertos HTTP con el siguiente comando para abrir los dos sitios.
Intenta acceder a ambas estaciones por separado:El inicio de sesión del hipervínculo es visible. El inicio de sesión del hipervínculo es visible.Las representaciones son las siguientes:
Configuración de balanceo de carga NGINX
Descarga la versión para Windows de nginx en la siguiente dirección:El inicio de sesión del hipervínculo es visible.
Una vez descargado, extráelo al directorio E:\wwwroot\nginx-1.18.0. Modifica el archivo E:\wwwroot\nginx-1.18.0\conf\nginx.conf de la siguiente manera:
Inicia el programa nginx con el siguiente comando:
nginx -s para detener el apagado rápido nginx -s dejó el cierre de Graceful NGINX -S recarga cambiando configuración, iniciando nuevos procesos de trabajo con una nueva configuración, apagado de forma elegante de los procesos de trabajo antiguos nginx -s reabrir reabrir archivos de registro Acceder al sitio de balanceo de carga nginx a través de un navegador:El inicio de sesión del hipervínculo es visible.
Actualizamos y revisamos muchas veces, y vemos que el contenido devuelto es diferente cada vez, y puedes ver que nginx distribuye diferentes solicitudes a distintos servicios http en el backend,Al intentar detener el sitio de site1, vemos que no afecta a nuestro acceso normal, y nginx reenvía todas las solicitudes al sitio site2。
Estado de configuración de balanceo de carga de Nginx
| estado | Resumen | | abajo | El servidor actual no participa en el balanceo de carga por el momento | | copia de seguridad | Los servidores de respaldo reservados se activan cuando todos los demás servidores están colgados | | max_fails | El número de solicitudes fallidas permitidas, si el número de solicitudes fallidas supera el límite, elimina el servidor del pool de servicios virtual tras fail_timeout tiempo | | fail_timeout | Tras un fallo max_fails, el servicio pausa el tiempo max_fails debe establecerse el valor de fail_timeout | | max_conns | Limitar el número máximo de conexiones para diferentes configuraciones de hardware de servidor |
Política de planificación de balanceo de carga Nginx
| Algoritmos de planificación | Resumen | | Pollot | Encuesta uno por uno, el método por defecto | | Peso | En las encuestas ponderadas, cuanto mayor es el peso, mayor es la probabilidad de distribución | | ip_hash | La asignación de resultados de hash desde la IP de acceso hará que las solicitudes desde la misma dirección IP accedan a un servidor fijo en segundo plano | | url_hash | Asignar según el resultado hash de la URL visitada | | least_conn | El número mínimo de enlaces se asignará al servidor con menos enlaces | | Valor clave hash | Clave personalizada hash |
Para más información sobre configuraciones nginx, véase:El inicio de sesión del hipervínculo es visible.
|
Anterior:División y eliminación de troncos de NginxPróximo:El concepto y la diferencia entre ITO, BPO, KPO y los tres
|