2010-05-07 25 views
5

Comment un réseau de serveurs peut-il communiquer entre eux?Communication entre plusieurs serveurs

Par exemple, si le client A se connecte à serveur A, comment serait informé les autres serveurs de cela? Je suppose que vous auriez besoin d'un serveur "central", mais comment serait-il mis en œuvre?

Je suis vraiment abasourdi sur ce point, de sorte que toute aide serait bien

:)

Répondre

4

L'un des points des systèmes distribués est que les serveurs n'ont pas besoin de connaître les actions de chacun. Le serveur A et le serveur B pourraient être des serveurs frontaux partageant même la même base de données tout en pouvant travailler indépendamment. Le "serveur central" auquel vous faites référence serait la base de données qui pourrait être physiquement sur une troisième machine ou Serveur A ou Serveur B.

+0

Le serveur A devrait quand même parler au serveur avec la base de données. – someguy

0

D'autres serveurs ne seraient pas au courant de cette communication, à moins qu'ils demandent spécifiquement soit client1 ou server1 à ce sujet - si les serveurs demandent chaque autre pour une liste actuelle des clients de temps en temps. Si tous les serveurs partagent la même base de données, ils peuvent peut-être y regarder pour voir l'activité en cours, mais ils ne seraient normalement pas conscients de la communication qui ne les concerne pas. Qu'est-ce que vous cherchez à accomplir, ou êtes-vous juste curieux?

+0

Je suis simplement curieux. – someguy

0

Si les serveurs sont sur le même sous-réseau et que vous utilisez IPv4, peut-être vous pourriez mettre les cartes ethernet en mode promiscuous? Ils verraient le trafic vers et depuis clientA/serverA. Mais cela ouvre toute une boîte de Pandore que vous ne voulez probablement pas ouvrir (sécurité, confidentialité, etc.) Une solution plus viable serait probablement de partager une base de données commune. Chaque serveur mettra à jour la base de données lorsqu'il gère une connexion et interrogera périodiquement la base de données pour voir quelles autres connexions sont gérées.

1

Vous pourriez être intéressé de lire cet article on An Analysis of the Skype Protocol pour un exemple de la façon dont un très grand nombre de machines peuvent communiquer sans parler continuellement à un serveur central ou une base de données. (Un serveur de connexion central est utilisé lorsque l'utilisateur se connecte pour la première fois.)