El equilibrio de carga distribuye la carga de trabajo entre varios servidores para mejorar el rendimiento, mientras que la agrupación de servidores combina varios servidores para que funcionen como una sola entidad.
Módulo de clúster o Clustering: Un clúster es un conjunto de recursos que intenta alcanzar un objetivo común, y tener conocimiento de los demás dentro del grupo. Cada contenedor, servidor o servidor virtual dentro de un clúster se denomina Node. La agrupación generalmente implica configurar los recursos (generalmente servidores) para intercambiar especificaciones en un canal en particular y seguir intercambiando sus estados, es decir, cuando el estado del recurso también se replica en otros lugares. Por ejemplo, se pueden conectar muchos servidores para que aparezcan como un solo servidor y compartan una sola dirección IP.
El módulo de clúster generalmente admite dos metodologías de distribución de conexiones entrantes. El enfoque de operación por turnos, donde el proceso primario escucha en un puerto entrante, acepta nuevas conexiones y luego las distribuye entre los trabajadores de manera rotativa, con algunas técnicas integradas para evitar sobrecargar un proceso de trabajo. Otra forma es donde el proceso principal crea los sockets de escucha y luego los envía a los trabajadores interesados. Los trabajadores luego aceptan las conexiones entrantes directamente.
Los clústeres más básicos utilizan un par de servidores redundantes. Los clústeres más avanzados contienen muchas otras máquinas diferentes, cada una conectada e intercambiando información sobre estados y otros recursos. Si bien es técnicamente posible que los clústeres contengan diferentes tipos de Nodes, el rendimiento se reduce si los Nodes no son idénticos. Algunos de los clústeres disponibles son clústeres de servidores de alta disponibilidad, clústeres de equilibrio de carga, clústeres de alto rendimiento y clústeres de almacenamiento.
Equilibrador de carga:Un balanceador de carga es una tecnología que toma todas las requests HTTP y las reenvía a uno de una colección de servidores. El equilibrio de carga busca evitar la sobrecarga de un solo dispositivo al dividir los trabajos o el flujo de tráfico. Podemos usar un balanceador de carga para enviar requests a un servidor u otro, pero un servidor no usa los recursos de los otros servidores. Además, un recurso no comparte su estado con otros recursos. Cada balanceador de carga básicamente realiza tareas como verificar continuamente qué servidores están activos. Los balanceadores de carga pueden ser simples o sofisticados. Los balanceadores de carga simples generalmente consisten en DNS Round Robin y balanceadores de carga OSI Layer 3/Layer 4 (L3/L4) que funcionan en las capas TCP e IP. Los balanceadores de carga más sofisticados generalmente distribuyen el trabajo en función de los datos de la aplicación (OSI Layer 7)
Cuando se reciba una nueva solicitud, envíela a uno de los servidores de acuerdo con la política de equilibrio de carga. Mientras se recibe una solicitud para un usuario que ya tiene una sesión por delante, envíe al usuario al mismo servidor (para evitar que el usuario vaya a diferentes servidores y no pueda realmente hacer ningún trabajo). Existen muchas herramientas poderosas de equilibrio de carga, como Nginx o HAProxy.
Similitudes entre Cluster Module y Load Balancer: Ambas tecnologías tienen varias características en común:
- Para cualquier dispositivo externo, ambas tecnologías suelen parecer una sola máquina que gestiona todas las requests.
- Ambos suelen incorporar tecnologías de proxy inverso que permiten que una sola dirección IP redirija el tráfico a diferentes direcciones IP o MAC.
- Ambas tecnologías están desarrolladas para administrar los servidores físicos de un centro de datos, pero luego se extendieron a las aplicaciones, creando servidores virtuales, servidores en la nube y tecnología de contenedores.
Diferencia entre el módulo de clúster y el equilibrador de carga:
Equilibradores de carga |
Módulo de clúster |
Los equilibradores de carga distribuyen la carga de procesamiento entre el grupo de servidores. | Un clúster es un grupo de servidores que se ejecutan como si fuera una sola entidad. |
El balanceo de carga puede ser más simple de implementar con diferentes tipos de servidores | Por lo general, requiere servidores idénticos dentro del clúster. |
Los balanceadores de carga requieren experiencia adicional en redes para administrar los diferentes tipos de servidores conectados | Los clústeres de servidores son más autónomos y los gestiona un controlador automáticamente |
Los balanceadores de carga pueden operar independientemente de los servidores de destino y, por lo tanto, consumen menos recursos. | Los módulos de clúster requieren administradores de Nodes y agentes de Nodes para comunicarse dentro del clúster, lo que ocupa ancho de banda y procesamiento en los servidores. |
Equilibrio de carga relativamente menos resistente para aplicaciones ej.-Mientras se realizan transacciones Si un servidor falla, el cliente debe volver a ingresar los datos desde el principio ya que se perderá el estado de usuario. |
Los clústeres de servidores son más resistentes para las aplicaciones Por ejemplo, si algún servidor falla durante la transacción, otro servidor dentro del clúster funcionará y el cliente completará la transacción. |
Publicación traducida automáticamente
Artículo escrito por hemantrathore2705 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA