2017-02-24 3 views
1

Wir haben unsere Lösung für hohe Verfügbarkeit mit Azure Traffic Manager mit Standardeinstellungen implementiert.Erzielen hoher Verfügbarkeit mit Azure Traffic Manager

Ausgewählte Routing-Methode für uns ist Performance.

Wir erwarteten, dass sobald der primäre Server ausgefallen ist, die Benutzer auf den sekundären Server übertragen werden. Aber leider gibt es eine Verzögerung von 30 Sekunden. Für diese 30 Sekunden in unserem Test haben wir festgestellt, dass die Benutzer nicht reagieren Probleme und Anfragen Timeout bekommen. Es dauert fast eine Minute, um alles bei der Arbeit zurückzubekommen. Azure Traffic Manager with 30 second TTL Im Allgemeinen beobachten wir diese Aussetzer nicht in Facebook- oder Microsoft-Seiten, die definitiv eine Lösung für hohe Verfügbarkeit beibehalten.

Müssen wir in unserer Anwendung programmieren, um diese Aussetzer elegant zu behandeln, wie zum Beispiel einen Dialog auf der Client-Seite zu zeigen, dass wir bald wiederkommen werden usw.? Was könnte die beste Lösung sein, damit die Benutzererfahrung nahtlos ist?

+0

Führen Sie mehrere Instanzen Ihrer Web App aus? Wenn ja, ist die Failover-Lösung von Traffic Manager nur dazu da, Sie im Falle eines Totalausfalls des Azure-Rechenzentrums zu schützen? –

+0

Bei Failover möchten Sie den Prioritätsalgorithmus und nicht die Leistung konfigurieren. Haben Sie mehrere Instanzen der Web App oder haben Sie mehrere Web Apps, die Ihre Website hosten? –

Antwort

3

Da Azure Traffic Manager ein DNS-basierter Lastenausgleich ist, muss der Client warten, bis die TTL des DNS-Eintrags übergeben wurde, bevor der DNS erneut abgefragt wird. Deshalb haben Sie Ihr Problem. Der Traffic Manager verwaltet nicht die Kommunikation per se, sondern nur den Server, mit dem Ihr Client über DNS kommuniziert. Facebook und Microsoft verwenden einen Load Balancer auf einer tieferen Protokollstufe (wie zum Beispiel das Balancieren auf einer IP-Adresse) Wenn ein Knoten ausfällt, kann der Load Balancer zu einem anderen Knoten wechseln, da er den gesamten Datenverkehr empfängt und umleitet.

Wenn Sie zu einem Azure Load Balancer wechseln können (der Name ist mir nicht sicher), wird Ihr Problem gelöst. Andernfalls müssten Sie Ihre TTL verkürzen oder etwas codieren, um Ihren DNS-Cache zu leeren und es erneut zu versuchen.

Verwandte Themen