10 millones de introducción simultánea al sistema de carga equilibrada HAproxy

  

HAProxy proporciona alta disponibilidad, equilibrio de carga y proxy basado en aplicaciones TCP y HTTP, es compatible con el host virtual, es una solución gratuita, rápida y confiable. Según los datos oficiales, su límite más alto es compatible con la concurrencia de 10G.

HAProxy es especialmente útil para aquellos sitios web altamente cargados que normalmente requieren persistencia de sesión o siete capas de procesamiento. HAProxy se ejecuta en el hardware actual y puede admitir decenas de miles de conexiones simultáneas. Y su modo de operación hace que sea fácil y seguro integrarlo en su arquitectura actual mientras protege su servidor web de la exposición a la red.



4 que está soportado desde la capa de red a la conmutación de capa 7, es decir, para cubrir todo el protocolo TCP. Es decir, Haproxy incluso soporta la carga equilibrada de Mysql. .

Si puede implementar la carga balanceada WEB en el modo proxy inverso proxy, hay muchos de estos productos. Incluyendo Nginx, ApacheProxy, lighttpd, Cheroke, etc.

Pero para ser claros, Haproxy no es un servidor HTTP. Todos los productos mencionados anteriormente con una carga de ecualización de proxy inversa son todos los servidores WEB. En pocas palabras, pueden proporcionar transferencias y procesamiento de archivos estáticos (html, jpg, gif ..) o dinámicos (php, cgi ..). Haproxy es único, y es específicamente un agente de aplicación para equilibrar cargas. No proporciona servicios de http por sí mismo.

pero su configuración es sencilla, tiene una muy buena comprobaciones de estado del servidor, así como una página especial el estado del sistema de vigilancia, cuando el servidor de sus agentes de back-end falla, HAProxy elimina automáticamente el fallo del servidor El servidor se agrega automáticamente después de la recuperación. Desde la versión 1.3, frontend, backend, frontend se han introducido para que coincidan con las reglas basadas en el contenido de cualquier encabezado de solicitud HTTP, y luego la solicitud se dirige al backend correspondiente.

Además, la versión 1.3 es una versión de desarrollo activo que admite las siguientes funciones nuevas:

Intercambio de contenido: puede seleccionar un conjunto de servidores, como las solicitudes, en función de cualquier parte de la solicitud. URI, encabezados de host, cookies y cualquier otra cosa. Por supuesto, hay más necesidades de esta característica para sitios separados estáticamente.

Proxy totalmente transparente: puede usar la dirección IP del cliente o cualquier otra dirección para conectarse al servidor backend. Esta función solo está disponible después de que el parche cctproxy se haya aplicado al kernel de Linux 2.4 /2.6. Esta característica también lo hace disponible para algunos Es posible que un servidor especial maneje parte del tráfico sin modificar la dirección del servidor.

Programador más rápido basado en árbol: las versiones superiores a 1.2.16 requieren que todos los tiempos de espera se configuren en el mismo valor para admitir decenas de miles de conexiones de velocidad completa. Esta función se ha portado a 1.2.17.

Empalme de TCP del kernel: evita la copia de datos de kernel a usuario y luego de usuario a kernel, lo que aumenta el rendimiento y reduce el uso de la CPU. Haproxy 1.3 es compatible con Linux L7SW para alcanzar el rendimiento de Gbps en hardware básico La demanda

Rechazo de conexión: debido a que la sobrecarga de mantener la apertura de una conexión es muy baja, a veces necesitamos limitar los robots de ataque, lo que significa limitar sus conexiones para que se abran y, por lo tanto, limitar su daño. Esto se ha desarrollado para un sitio que está atascado en un pequeño ataque DDoS y ha guardado muchos sitios.

Encabezado sutil: simplifica la escritura de reglas basadas en encabezados y maneja ciertas partes del URI.

Procesamiento rápido y confiable de cabezales: utilizando una verificación de integridad compatible con RFC2616 completa, se requieren menos de 2 ms para analizar e indexar todas las solicitudes generales.

Diseño modular: Permitir que más personas se unan a este proyecto, la depuración también es muy simple. Poller se ha separado, ha hecho su desarrollo mucho más fácil. HTTP se ha separado del TCP, así que agregue un nuevo siete Las propiedades de la capa se vuelven muy simples. Otros subsistemas serán modulares pronto.

Procesamiento de E /S especulativo: intente leer los datos de un socket antes de que esté listo. El encuestador solo especula cuáles pueden estar listos y no, trate de adivinar, y si tiene éxito, se pueden guardar algunas costosas llamadas al sistema. Estas llamadas al sistema se llaman si fallan. El uso conocido de Linux epoll () ha sido un aumento neto de al menos el 10%.

ACL: use cualquier combinación de reglas arbitrarias como condición de ejecución de una acción.

Comprobación del protocolo TCP: Combine las ACL para verificar cualquier parte de la solicitud y luego reenvíela. Esto permite que se realice la verificación del protocolo en lugar del reenvío ciego. Por ejemplo, permitir SSL pero rechazar SSH.

Más algoritmos de equilibrio de carga: Round Round dinámico, Hash de origen ponderado, Hash de URL ponderado y Hash de parámetro ponderado Ya implementado. Otros algoritmos, como el Tiempo de respuesta medido ponderado, también se implementarán pronto.

Copyright © Conocimiento de Windows All Rights Reserved