2012-07-04 13 views
8

Desde una perspectiva más pura, se sienten como conceptos idénticos. Ambos administran conjuntos de re-reactores/nodos y controlan su acceso desde o por componentes externos.Diferencia entre grupo y clúster

Con un grupo, toma prestado y devuelve estos recursos/nodos hacia y desde el grupo.

Con un clúster, tiene un equilibrador de carga sentado frente a los recursos/nodos y acciona el equilibrador de carga con una solicitud.

En ambos casos, no tiene absolutamente ningún control sobre qué recurso/nodo se asigna su solicitud/préstamo.

Así que planteo la pregunta: ¿cuál es la diferencia fundamental entre el patrón de "agrupación" y un grupo con carga equilibrada?

Respuesta

12

Un grupo se utiliza para evitar crear y destruir constantemente recursos que son costosos de crear. Un recurso de un grupo puede ser utilizado por un solo cliente a la vez. Los recursos disponibles se almacenan en el grupo. Cuando lo necesita, lo obtiene del grupo y, por lo tanto, no está disponible para otros clientes. Cuando hayas terminado con el recurso, lo vuelves a poner en el grupo. Las agrupaciones se utilizan para las conexiones e hilos de la base de datos, por lo general. Otra ventaja es que permite mantener la cantidad de recursos (conexiones, hilos) a un máximo razonable.

Un clúster es una colección de nodos (computadoras, máquinas virtuales) que permite atender un mayor número de clientes concurrentes (escalabilidad) y evitar un único punto de falla (failover, redundancy). También tenga en cuenta que los equilibradores de carga no son necesariamente aleatorios. En muchos casos, el equilibrador de carga usa sesiones adhesivas: una vez que un cliente ha sido asignado a un nodo del clúster, todas sus solicitudes posteriores van al mismo nodo.

Los objetivos no son los mismos entre un grupo y un grupo. Y los recursos almacenados en un grupo no son del mismo tipo que los recursos de un clúster.