ARR-Route zu einem bestimmten Server in der Farm

ARR-Route zu einem bestimmten Server in der Farm

Ich habe 3 Standorte, jeder mit seinem eigenen Server (s1.mysite.com, s2.mysite.com, s3.mysite.com). Diese sind alle Teil der Site: app.mysite.com.

Ich möchte ARR verwenden, um Anfragen an bestimmte Server in der Farm weiterzuleiten, je nachdem, von welchem ​​Standort die Anfrage kommt (die Anfrage von Site 1 geht an s1.mysite.com, das sich in der Nähe ihres Standorts befindet), und gleichzeitig ein Failover auf einen der anderen Server zulassen, falls ein Problem mit diesem bestimmten Server auftritt.

Ich weiß, wie ich die Anforderung basierend auf der Abfragezeichenfolge per DNS-Namen (s1.mysite.com) an den spezifischen Server verteilen kann, aber dieser Name würde nicht funktionieren, wenn der Server ausfällt.

Kann ich diese Redundanz und Arbeitsverteilung auf diese Weise mit Microsoft ARR erreichen?

Antwort1

Abhängig von Ihren Gründen für diese Art von Setup können sich mögliche Lösungen ändern. Ich sehe zwei Gründe, die hier eine Rolle spielen könnten:

  • Versuchen, eine hohe Verfügbarkeit zu erreichen und dabei App-Server zu bevorzugen, die die besten Reaktionszeiten bieten (Szenario 1)
  • Präsentieren von benutzerdefiniertem Inhalt basierend auf der Site, auf der sich ein Benutzer befindet (Szenario 2)

Szenario 1

Wenn Sie versuchen, HA zu erreichen und die besten Antwortzeiten zu erhalten, werden Sie auf ein Problem stoßen, da alle Anfragen zuerst über den ARR-Server laufen müssen. Eine Möglichkeit, dies zu umgehen, besteht darin, an jedem Standort einen ARR zu haben, DNS zu verwenden, um Benutzer auf den ARR-Server ihres Standorts zu verweisen, und dann den Lastausgleichsalgorithmus „Kürzeste Antwortzeit“ zu verwenden. Dadurch werden Benutzer an Standort 1 theoretisch auf s1.mysite.com verwiesen, während gleichzeitig ein Failover auf s2 und s3 bereitgestellt wird, wenn s1 ausfällt.

Wenn jedoch ein Netzwerkproblem dazu führt, dass s1.mysite.com nicht verfügbar ist, kann dies auch dazu führen, dass der ARR-Server an Standort 1 ebenfalls nicht verfügbar ist. Dies würde Sie jedoch vor Anwendungsfehlern auf s1.mysite.com schützen.

Szenario 2

Es scheint nichts sofort einsatzbereites zu geben, um die Art von Routing durchzuführen, die Sie erreichen möchten. Es gibt jedoch APIs, mit denen Sie einen benutzerdefinierten Rewrite-Provider für URL-Rewrite erstellen können. Informationen dazu finden Sie unterHier. Sie können möglicherweise Informationen aus Servervariablen, Anforderungsheadern oder sogar Abfragezeichenfolgenparametern in Verbindung mit einem benutzerdefinierten Rewrite-Provider verwenden, um die Art von Routing durchzuführen, die Sie erreichen möchten.

verwandte Informationen