2008-08-07 19 views
13

Gibt es trotzdem einen WCF-Dienst mit einem Failover-Endpunkt zu konfigurieren, wenn der primäre Endpunkt stirbt? So etwas wie die Möglichkeit, einen Failover-Server in einem SQL-Cluster anzugeben.Hohe Verfügbarkeit

Insbesondere verwende ich die TCP/IP-Bindung für die Geschwindigkeit, aber in dem seltenen Fall, dass der Computer nicht verfügbar ist, möchte ich Verkehr auf den Failover-Server umleiten. Es machte mir nichts aus, Nachrichten zu verlieren. Ich würde es vorziehen, den Code nicht zu schreiben, um das Umleiten zu behandeln.

Antwort

9

Sie müssen eine Ebene 4 load balancer vor den beiden Endpunkten verwenden. Probieren Sie am besten mit einem bestimmten Stück Hardware.

4

Ohne zu vage klingen zu wollen, aber ich denke, Windows Network Load Balancing (NLB) sollte dies für Sie erledigen.

1

Haben Sie es noch nicht mit WCF getan, aber planen Sie einen lokalen DNS-Eintrag auf unseren Netzwerklastenausgleich (NLB) virtuellen iP-Adresse, die den gesamten Verkehr zu einem unserer Server Hosting-Dienste innerhalb von IIS. Ich habe NLB für dieses genaue Szenario in der Vergangenheit für Websites verwendet und sehe keinen Grund, warum es nicht gut mit WCF funktioniert.

Das Schöne daran ist, dass Sie Server nach Belieben in und aus dem virtuellen Cluster nehmen können und NLB kümmert sich um all die hässliche Umleitung auf einen verfügbaren Knoten. Es kommt auch mit einem großen Preisschild: $ FREE mit Ihrer Windows Server-Lizenz.

0

Wir hatten viel Glück mit BigIP als Lösung, obwohl es nicht billig oder einfach einzurichten ist.

Eine nette Funktion ist, dass Sie Ihr SSL-Zertifikat (und Hintertür zur CA) am gemeinsamen Endpunkt des Load Balancer einrichten können. Dann können Sie Protokolle verwenden, um die Anforderungen zurück an die WCF-Server zu übertragen, sodass die gesamte Übertragung verschlüsselt wird.