2010-05-07 15 views
5

¿Cómo podría una red de servidores comunicarse entre sí?Comunicación entre varios servidores

Por ejemplo, si el cliente A se conecta al servidor A , ¿cómo los otros servidores de ser informado de ello? Supongo que necesitarías un servidor "central", pero ¿cómo se implementaría?

estoy realmente sin habla al respecto, por lo que cualquier ayuda sería bueno :)

Respuesta

4

Uno de los puntos de los sistemas distribuidos es que los servidores no necesitan estar al tanto de los actos de los demás. El Servidor A y el Servidor B podrían ser servidores frontales que incluso comparten la misma base de datos y aún así pueden trabajar de forma independiente. El "servidor central" al que se refiere sería la base de datos que podría estar físicamente en una tercera máquina o Servidor A o Servidor B.

+0

El Servidor A aún tendría que hablar con el servidor con la base de datos. – someguy

0

Otros servidores no serían conscientes de esta comunicación a menos que pidan específicamente ya sea cliente1 o server1 en ello - si los servidores piden a cada uno otro para una lista actual de clientes de vez en cuando. Si todos los servidores comparten la misma base de datos, tal vez puedan mirar allí para ver la actividad actual, pero normalmente no estarían al tanto de la comunicación que no los involucra.

¿Qué estás buscando lograr o solo tienes curiosidad?

+0

Solo tengo curiosidad. – someguy

0

Si los servidores están en la misma subred y está usando IPv4, quizás podrías poner las tarjetas de ethernet en modo promiscuo? Verían el tráfico hacia y desde el cliente A/servidor A. Pero eso abre una lata de gusanos que probablemente no desee abrir (seguridad, privacidad, etc.). Probablemente una solución más viable sería que compartan una base de datos común. Cada servidor actualizaría la base de datos cuando están manejando una conexión, y sondearía periódicamente la base de datos para ver qué otras conexiones se están manejando.

1

Le puede interesar leer este documento on An Analysis of the Skype Protocol para ver un ejemplo de cómo una gran cantidad de máquinas se pueden comunicar sin que todas ellas hablen continuamente a un servidor o base de datos central. (Un servidor de inicio de sesión central se usa cuando el usuario solo inicia sesión por primera vez).