19 pensamientos entienden claramente el equilibrio de carga en Linux

  

Primero, la arquitectura actual del sitio web generalmente se divide en la capa de equilibrio de carga, la capa web y la capa de base de datos, en realidad agrego otra capa, es decir, la capa del servidor de archivos, porque ahora con Hay más y más PV en el sitio web, y la presión sobre el servidor de archivos es cada vez mayor. Sin embargo, con la madurez de moosefs y DRDB + Heartbeat, este problema no es grande. La capa de equilibrio de carga en la parte frontal del sitio web se llama Director, que actúa como una solicitud de distribución. La más común es la de sondeo.

En segundo lugar, F5 es lograr el equilibrio de carga a través del hardware. Se utiliza principalmente en el sistema CDN. Se utiliza para el equilibrio de carga del clúster de aceleración inversa de Squid. Es un dispositivo de equilibrio de carga profesional de hardware, especialmente adecuado para todos En segundo lugar, el número de nuevas conexiones y el número de conexiones concurrentes es alto; LVS y Nginx se implementan mediante software, pero la estabilidad también es bastante fuerte y existen buenas actuaciones en el manejo de alta concurrencia.

Tercero, Nginx tiene menos dependencia de la red. En teoría, siempre que el ping sea exitoso, el acceso a la web es normal, nginx se puede conectar y nginx puede distinguir entre redes internas y externas, si tiene nodos dentro y fuera de la red. Eso equivale a tener una línea de respaldo para una sola máquina; lvs depende más del entorno de la red. En la actualidad, el servidor está en el mismo segmento de red y lvs utiliza el método directo para descargar, y el efecto puede garantizarse.

Cuarto, la tecnología de alta disponibilidad de equilibrio de carga madura actual tiene LVS + Keepalived, Nginx + Keepalived. Anteriormente, Nginx no tenía una solución de copia de seguridad de máquina dual madura, pero se puede realizar a través del monitoreo de shell shell. Se puede lograr el interés. Específicamente, consulte el plan de implementación de mi proyecto en 51cto; además, si considera la alta disponibilidad de equilibrio de carga de Nginx, también puede usar el sondeo de DNS para lograrlo. Las partes interesadas pueden consultar los artículos relacionados de Zhang Yan.

V. Cluster se refiere al clúster web o al cluster tomcat detrás del balanceo de carga, pero el significado del cluster actual se refiere a toda la arquitectura del sistema, que incluye el balanceador de carga y el cluster del servidor de aplicaciones back-end, etc. A las personas les gusta referirse a los clusters de Linux como LVS, pero creo que deberían distinguirse en el sentido estricto.

VI. Alta disponibilidad en el balanceo de carga La alta disponibilidad se refiere al HA que implementa el balanceador de carga. Es decir, un balanceador de carga está roto y el otro se puede cambiar dentro de < 1s segundos. El más comúnmente usado El software es Keepalived y Heatbeat. La solución del equilibrador de carga en un entorno de producción maduro tiene Lvs + Keepalived, Nginx + Keepalived.

Siete, LVS tiene muchas ventajas: 1 resistencia de carga fuerte; 2 operación estable (porque Hay una solución de HA madura; 3 sin tráfico; 4 básicamente puede admitir todas las aplicaciones, en función de las ventajas anteriores, LVS tiene muchos fans; pero no hay nada absoluto, LVS depende demasiado de la red, en el entorno de red En un escenario de aplicación relativamente complejo, tengo que dejarlo y elegir Nginx.

Ocho, Nginx tiene poca dependencia de la red, y su regularidad es fuerte y flexible, y las potentes funciones atraen a muchas personas, y La configuración también es bastante conveniente y simple. Básicamente, la considero en la implementación de proyectos pequeños y medianos, por supuesto, si los fondos son suficientes, F5 es la mejor opción.

IX, la arquitectura de sitios web grandes puede utilizar F5, LVS o Nginx, elija dos o tres de ellos; si no elige F5 por razones de presupuesto, entonces la parte frontal del sitio web debe ser Es LVS, es decir, el DNS debería apuntar al ecualizador lvs. Las ventajas de lvs lo hacen muy adecuado para esta tarea. La dirección IP importante es mejor administrada por lvs, como la ip de la base de datos, la ip del servidor de servicio web, etc. Estas direcciones ip se harán cada vez más grandes con el paso del tiempo. Si se reemplaza la ip, la falla seguirá. Por lo tanto, es más seguro entregar estos ips importantes al alojamiento de lvs.

Diez, la dirección VIP es una IP de Keepalived virtual, es una IP pública externa y también la IP apuntada por el DNS, por lo que al diseñar la arquitectura del sitio web, debe solicitar una IP externa a su IDC.

XI, en el proceso de implementación del proyecto real, el soporte de Lvs y Nginx para https es muy bueno, especialmente LVS, relativamente fácil de manejar.

XII. En la solución de problemas de LVS + Keepalived y Nginx + Keepalived, ambos son muy convenientes; si ocurre una falla del sistema o una falla relacionada con el servidor, el servidor puede apuntar al DNS. Una web real, para lograr el efecto de una falla en el procesamiento a corto plazo, después de todo, el PV de los sitios web de publicidad y sitios web de comercio electrónico es dinero, por lo que es necesario diseñar una alta disponibilidad de equilibrio de carga; los sitios web de gran publicidad los recomiendo directamente al sistema CDN. Es

Trece, ahora los clústeres de Linux son todos mitos, de hecho, esto no es muy complicado, la clave depende de su escenario de aplicación, cuál es aplicable, Nginx y LVS, F5 no son mitos, que Cuál es conveniente y cuál usar.

Catorce, otro problema relacionado con el intercambio de sesiones, este también es un viejo problema en crecimiento. Nginx puede usar el mecanismo ip_hash para resolver el problema de la sesión, y F5 y LVS tienen un mecanismo de retención de sesión para resolver este problema. Además, también puede escribir la sesión en la base de datos, lo que también es una buena manera de resolver el intercambio de sesiones, por supuesto, esto también aumentará la carga de la base de datos, esto depende de la elección de los arquitectos del sistema.

Quince, actualmente mantengo un sitio web de comercio electrónico de aproximadamente 1000. El anterior sitio web de información sobre valores es de unos 100, y el gran anuncio en línea es de unos 3000. Creo que la capa web no es concurrente. Un problema: ahora, debido a la potencia del servidor, junto con la alta capacidad anti-concurrencia de Nginx para la web, la concurrencia de la capa web no es un gran problema, por el contrario, la presión sobre la capa del servidor de archivos y la capa de la base de datos es cada vez mayor. NFS único no está calificado para el trabajo actual, ahora la buena solución es moosefs y DRDB + Heartbeat + NFS, y me gusta el servidor Mysql, el programa de aplicación maduro aún es maestro-esclavo, si la presión es demasiado grande, tengo que elegir el oracle RAC doble Programa de la máquina.

Dieciséis, ahora afectados por la fiesta, todos van a jugar a Nginx (especialmente para la web), de hecho, en el caso de un excelente rendimiento del servidor, suficiente memoria, la anti-concurrencia de Apache no es débil, El cuello de botella de todo el sitio web aún debería estar en la base de datos; le sugiero que entienda a Apache y Nginx de dos maneras, el extremo delantero usa Nginx para el equilibrio de la carga y el extremo trasero usa Apache como web. El efecto es bastante bueno.

Diecisiete, el problema de división del cerebro de Heartbeat no es tan grave como lo imaginado, se puede considerar el entorno en línea; DRDB + Heartbeat es una aplicación madura, se recomienda dominar. Utilicé esta combinación para reemplazar el almacenamiento compartido de EMC en varias ocasiones. Después de todo, el precio de 300,000 no es aceptable para todos los clientes.

18, independientemente de la madurez del esquema de diseño, se recomienda configurar el monitor Nagios para monitorear nuestro servidor en tiempo real; las alarmas de correo y SMS pueden activarse, después de todo, los teléfonos móviles pueden transportarse; También puede comprar un servicio de sitio web de escaneo comercial dedicado, que escaneará su sitio web cada minuto. Si descubre que no está vivo, se le enviará un mensaje de advertencia o un contacto telefónico directo.

19, al menos la seguridad del sitio, recomiendo el uso de un firewall de hardware, se recomienda el firewall de tres niveles de Huawei + el firewall web Tiantai, la seguridad DDOS debe estar implementada; el propio servidor Linux es iptables Tanto SElinux como SElinux se pueden desactivar. Por supuesto, cuantos menos puertos estén abiertos, mejor.

Copyright © Conocimiento de Windows All Rights Reserved