¿Cómo logra el marco tecnológico subyacente de Taobao el equilibrio de carga distribuido del sitio web?
¿Qué es la distribución y el equilibrio de carga? 1. Distribuido
Distribuido se refiere a dividir un servicio completo en varios subservicios (o diferentes servicios en sí) e implementarlos en diferentes servidores, como sistemas de usuarios y pedidos distribuidos en diferentes servidores, sistemas de centros comerciales. , etc.
Existe otro concepto que se confunde fácilmente con distribución, y es el de clustering. La agrupación en clústeres enfatiza que la misma empresa se implementa en múltiples servidores.
En el modo de clúster, la falla de un nodo entre varios nodos no afectará el negocio en general; en un entorno distribuido, si un nodo se cuelga, puede afectar un negocio (en realidad no, debido a la distribución). Después del despliegue formal, el negocio también se agrupará).
2. Equilibrio de carga
La función del equilibrio de carga es ser un "árbitro", asignando una gran cantidad de tráfico simultáneo a múltiples servidores de nodos (clústeres) para su procesamiento, reduciendo así el tiempo que los usuarios esperan respuestas.
Por lo tanto, el equilibrio de carga es inseparable de los clústeres de servicios.
¿Cómo logra Taobao la distribución, la agrupación en clústeres y el equilibrio de carga? 1. Separación de solicitudes dinámicas y estáticas
Implemente solicitudes dinámicas y solicitudes estáticas en diferentes servidores para optimizarlas.
2. Marco de servicios distribuidos HSF
HSF es el marco de servicios distribuidos de Alibaba. Después de la división, el acoplamiento entre sistemas se reduce considerablemente, lo que favorece la implementación distribuida.
3. Marco NoSQL distribuido Tair
Tair es la base de datos K/V distribuida de código abierto de Taobao.
4. Motor de servidor web de alto rendimiento
Tengine es un desarrollo secundario basado en Nginx. Tiene mejor rendimiento que Nginx y admite más funciones, como la fusión de solicitudes y el módulo de límite de velocidad. , Lua incorporado y más. Se puede utilizar para proxy inverso y equilibrio de carga.