Ich bin neu bei webbasierten Apps. Meine Anforderung ist, dass ein Benutzer auf eine URL zugreift, die von zwei Servern bereitgestellt werden kann – einem primären und einem sekundären.
Wenn der primäre Server ausfällt, sollten die Anfragen dieser URL automatisch an den sekundären Server weitergeleitet werden, sodass dieser nun anstelle des primären Servers fungiert (und sobald der primäre Server wieder funktioniert, wird er wieder zum Server für alle eingehenden Anfragen). Wie kann dies erreicht werden? Gibt es ein Skript, das diesen Zweck für mich erfüllt? Und wo wird dieses Skript ausgeführt?
Welchen Ansatz soll ich wählen? Teilen Sie mir bitte einige Anregungen mit.
Danke.
Antwort1
Welches Betriebssystem verwenden Sie?
Zwei gängige Möglichkeiten hierfür sind Lastenausgleichsmodule und Cluster.
Die einfachste Methode wäre, einen Hardware-Load Balancer vor den Webservern zu platzieren. Der LB erkennt, wenn der Dienst auf einem Knoten ausfällt, und leitet den Verkehr auf den anderen Knoten um. Es gibt auch viele Methoden für Software-HA/Load Balancing.
Bei Clustern verfügen die Server über Heartbeat-Verbindungen und andere Methoden zur Erkennung der Dienstverfügbarkeit. In einem Aktiv/Passiv-Cluster, wie Sie ihn anscheinend meinen, wäre ein Server der aktive Knoten, und wenn dieser ausfällt, würde der andere Server die Dienste übernehmen. IP-Änderungen sind nicht erforderlich, da der Cluster eine virtuelle IP für die externe Verfügbarkeit verwendet.
Hierist eine SF-Frage im Zusammenhang mit der Durchführung dieser Aufgaben mit Apache/Linux.
Antwort2
DNS-Failover kann in einigen wenigen Fällen nützlich sein. SieheWarum wird DNS-Failover nicht empfohlen?