2010-05-07 18 views
5

Wie kann ein Netzwerk von Servern miteinander kommunizieren?Kommunikation zwischen mehreren Servern

Zum Beispiel, wenn Client A A-Server verbindet, wie würden die anderen Server darüber informiert werden? Ich nehme an, Sie würden einen "zentralen" Server benötigen, aber wie wäre es implementiert?

Ich bin wirklich sprachlos auf diese, so wäre jede Hilfe nett :)

Antwort

4

Einer der Punkte verteilter Systeme ist, dass die Server sich gegenseitig nicht bewusst sein müssen. Server A und Server B könnten Front-End-Server sein, die sogar die gleiche Datenbank teilen und trotzdem unabhängig arbeiten können. Der "zentrale Server", auf den Sie sich beziehen, wäre die Datenbank, die sich physisch auf einem dritten Computer oder entweder Server A oder Server B befinden könnte.

+0

Server A müsste trotzdem mit dem Server mit der Datenbank kommunizieren. – someguy

0

Andere Server bewusst nicht von dieser Kommunikation sein würde, wenn sie nicht ausdrücklich entweder client1 oder server1 fragen - wenn die Server jeweils fragen andere für eine aktuelle Liste von Kunden von Zeit zu Zeit. Wenn sich alle Server die gleiche Datenbank teilen, können sie vielleicht dort nachsehen, um die aktuelle Aktivität zu sehen, aber normalerweise sind sie sich der Kommunikation nicht bewusst, die sie nicht beinhaltet.

Was möchten Sie erreichen, oder sind Sie nur neugierig?

+0

Ich bin nur neugierig. – someguy

0

Wenn sich die Server im selben Subnetz befinden und Sie möglicherweise IPv4 verwenden Sie könnten die Ethernet-Karten im Promiscuous-Modus setzen? Sie würden den Verkehr zu und von clientA/serverA sehen. Aber das eröffnet eine ganze Reihe von Würmern, die Sie wahrscheinlich nicht öffnen wollen (Sicherheit, Privatsphäre, etc.). Wahrscheinlich wäre eine praktikablere Lösung, sie eine gemeinsame Datenbank teilen zu lassen. Jeder Server würde die Datenbank beim Verarbeiten einer Verbindung aktualisieren und die Datenbank regelmäßig abfragen, um festzustellen, welche anderen Verbindungen verarbeitet werden.

1

Vielleicht möchten Sie dieses Papier on An Analysis of the Skype Protocol für ein Beispiel lesen, wie sehr viele Maschinen kommunizieren können, ohne ständig mit einem zentralen Server oder einer Datenbank zu sprechen. (Ein zentraler Login-Server wird verwendet, wenn sich der Benutzer zum ersten Mal anmeldet.)