2010-04-16 10 views
7

He escuchado estos dos términos muchas veces,Entonces, ¿cuál es la diferencia entre distribuidos y agrupados?

pero siempre confundido.

Mi suposición:

  1. de servidores distribuidos, cada servidor tiene sus propios datos únicos para servir
  2. de servidores en clúster, cada servidor se supone que tiene los mismos datos dado el tiempo suficiente para sincronizar

¿Esa es la diferencia?

Respuesta

2

Creo que los términos en sí mismos pueden ser mal utilizados y semánticamente se superponen, pero según mi experiencia, un sistema distribuido es aquel en el que todas las máquinas hablan entre sí; un clúster es donde las máquinas pueden ser independientes (pero no siempre).

Tomemos como ejemplo un MMORPG. Las arquitecturas finales más complejas y más altas se distribuyen de una manera, que el tipo que está parado junto a usted y con el que está hablando está realmente conectado a un servidor físico diferente. Funciona teniendo cada 'servidor de simulación' hablando con diferentes servicios (como un servicio de "chat", un servicio de "artículo comercial", ...) a través de un bus de servicio. Esto es lo que se considera arquitectura distribuida: las máquinas trabajan juntas para lograr el mismo objetivo.

Por el contrario, los servidores agrupados pueden hacer su propio conjunto de trabajo independiente de otras máquinas del clúster. Mire el proyecto SETI, por ejemplo ... o incluso un simple clúster de carga equilibrada de ASP.NET ... En ambos casos, estos clústeres están haciendo su propio conjunto independiente de trabajo y no se comunican entre ellos; solo están desempeñando diferentes trabajos. (SETI) o páginas (ASP.NET) a sus clientes ..

+0

Entonces, ¿cómo se llamará 'master-slave' y' master-master' arquitectura de base de datos respectivamente? – user198729

+0

Diría su semántica ... Volviendo al ejemplo de MMO; otra arquitectura (mucho más simple y utilizada a fondo en el MMOS original) es tener sus servidores de simulaciones del mundo (partionadas a través del espacio físico del juego, por ejemplo, mapas) ignorantes entre sí. Todo lo que saben es recibir transferencias de información del jugador de un servidor de "zonificación" de terceros. En este caso, cada servidor hace su propio conjunto de trabajo específico, hablando con sus propios clientes, y no habla con ningún otro servidor, así como los clientes no hablan con más de un servidor a la vez. Esto podría ser fácilmente considerado un grupo, o distribuido ... – dferraro

Cuestiones relacionadas