Local-to-Remote-Webserver-Failover

7

Kurz und bündig, ich nehme nicht an, dass Sie mehr Details benötigen:

  • Wir hosten unsere Website auf einem internen Webserver.

  • Eine Katastrophe hat und wird wieder eintreten, wenn die Kommunikation vom Internet in unser Gebäude / aus unserem Gebäude aufhört.

  • In diesem Fall möchten wir, dass unsere Benutzer beim Versuch, auf unsere Website zuzugreifen, zumindest eine Art "Ausfall wegen Wartung" oder eine andere Meldung (Twitter's Fail Whale?) Sehen , anstatt die aktuellen Meldungen vom Typ "Server nicht gefunden" sie bekommen derzeit. (Ein statischer Server, temporäre Weiterleitungen für alle Anforderungen).

[Ein Failover auf eine voll funktionsfähige Website wäre fantastisch, aber nicht erforderlich und wahrscheinlich keine Option].

Offensichtlich muss es eine Art externes Failover geben, das die Kontrolle übernehmen kann, wenn unsere lokalen Server ausfallen.

Wie wird eine solche Lösung umgesetzt? Andere Vorschläge?

EDIT: Wenn ich dafür keine korrekte Terminologie verwende (oder weglasse), lass es mich wissen!

anonymer Feigling
quelle
Ich denke, das ist eine großartige Frage. +1
Chris W. Rea
Fast
Justin Scott
Ich bin auf diese Frage nicht gestoßen. Ich werde es überprüfen und in Betracht ziehen, dieses zu löschen, nehme ich an.
Anonymer Feigling

Antworten:

1
  • Ein externer Reverse-Proxy kann eine statische Seite für Sie bereitstellen , wenn Ihre Site nicht erreichbar ist
  • Einige DNS-Anbieter von Drittanbietern können ein Failover auf eine zweite IP-Adresse durchführen, wenn die erste nicht erreicht werden kann (dieses Failover kann jedoch einige Zeit dauern).
  • Das Einrichten eines Offsite-Servers mit einem Heartbeat / ldirectord kann entweder den Lastausgleich zwischen Ihrem lokalen und dem externen Server ausgleichen oder einfach zum externen Server wechseln, wenn der interne Server nicht verfügbar ist. Dies ist die Methode, mit der Sie Endbenutzer davon abhalten, zu bemerken, dass Ihre Website nicht verfügbar ist. (Stellen Sie einfach sicher, dass sie dieselben Inhalts- / Datenbankquellen verwenden.)
Brent
quelle
1

Ein externer Reverse-Proxy kann so konfiguriert werden, dass Benutzer auf einen anderen Server umgeleitet werden, wenn alles fehlschlägt. Dies würde sich auch um die DNS-Weitergabe kümmern.

Snipper
quelle
1

Wer hostet Ihr DNS? DYNdns.org bietet einen Dienst an, bei dem Ihre IP-Adresse, wenn sie nicht mehr reagiert, eine Offline-Nachricht anzeigt oder zu einer anderen URL umleitet. Ich glaube, es heißt Webhop. Dies ist die einzige, mit der ich vertraut bin, aber wenn Ihr DNS gehostet wird, ist dies wahrscheinlich eine Option. Wenn Sie Ihre eigenen hosten, bin ich mir nicht sicher.

oneodd1
quelle
1

IPVS (IP Virtual Server) implementiert den Lastausgleich auf Transportschicht im Linux-Kernel, das sogenannte Layer-4-Switching. IPVS, das auf einem Host ausgeführt wird, fungiert als Load Balancer an der Vorderseite eines Clusters realer Server. Es kann Anforderungen für TCP / UDP-basierte Dienste an die realen Server weiterleiten und Dienste der realen Server als virtuellen Dienst auf einem Server anzeigen einzelne IP-Adresse.

Sie können also ein externes IPvs + Keepalived- Setup für das Failover verwenden. Wenn beide Webdienste ausfallen, können Sie in keepalived.conf einen "sorry server" angeben. Sie müssen LVS-tun (IPip-Tunneling) verwenden, wenn sich die Hosts in verschiedenen Subnetzen befinden.

Alt-Text
(Quelle: ccidnet.com )

rkthkr
quelle
Angenommen, wir verwenden 99% der Zeit unseren internen Server. Wird der externe Redirector (remote gehostet) zu einer erheblichen Latenz führen? Unsere Website ist nicht wie Digg, Slashdot usw. stark frequentiert, hat aber einen konstanten Besucherstrom. Erfordert die IPVS-Lösung auch eine direkte Verbindung zum (internen) Webserver, da wir uns hinter einigen verrückten Firewalls befinden - oder werden Anforderungen einfach neu adressiert / weitergeleitet?
Feigling
Bei den ipip-gekapselten Paketen handelt es sich um normale Pakete, die durch eine Firewall geschützt und weitergeleitet werden können. Wenn sie auf den "echten Server" (den Knoten) gelangen, werden sie entpackt und das Originalpaket ist verfügbar. Der "echte Server" antwortet direkt an den Client die Anfrage machen. Doc: linuxvirtualserver.org/VS-IPTunneling.html
rkthkr
Das wird eine gewisse Latenz sein, aber abhängig von der Konnektivität usw. wird es überhaupt nicht schlecht sein. Ich habe große Erfolge bei solchen Setups erzielt.
rkthkr
0

Es gibt einen Dienst namens Simple Failover , der möglicherweise das tut, was Sie möchten, obwohl es immer noch Probleme mit dem DNS-Caching gibt, da es sich um eine DNS-basierte Lösung handelt.

Ich habe in der Vergangenheit eine längere Antwort mit mehr technischen Details zu einer ähnlichen Frage gepostet, die die Mechanik dahinter erklärt.

Justin Scott
quelle