2009-08-24 3 views
5

Vielleicht habe ich ein falsches Produkt für unsere Bedürfnisse - aber ich möchte wissen, ob ich Application Request Routing (ARR) in IIS7 verwenden kann, um Kontostandsanforderungen für unsere Anwendungsebene zu laden.IIS7 und ARR und WCF ... Können wir unsere App-Server ausbalancieren?

Wir haben eine Farm von Webservern. Jeder wird unsere MVC-Webanwendung ausführen. Wir laden diese Server über unsere Webanwendungs-Firewall und Lastausgleichsgeräte aus. Im Gegenzug werden sie WCF-Aufrufe an unsere Anwendungsserver senden. Diese Anrufe möchte ich mit ARR verwalten.

Nach dem Betrachten von ARR scheint es jedoch, als ob es um das Umschreiben von URLs vom Client geht. Aber so funktioniert unsere Situation nicht. Wenn ein Benutzer zu www.myapp.com/home/index blättert, werden wir WCF-Aufrufe an in der web.config konfigurierte Dienste vornehmen, um myappservice.foo.local/home/GetInfo zu sagen.

Wie konfiguriere ich für dieses Szenario oder schaue ich mir das falsche Produkt an?

+0

Würde mich freuen, dies auch zu wissen! –

Antwort

1

Ich bin nicht wirklich sicher, Ihr Szenario zu verstehen, aber wenn ich richtig verstehe, denke ich, dass Sie Ihren WCF-Service anrufen könnten. Wenn Sie die Sitzung bei Ihrem Anruf nicht beibehalten müssen, deaktivieren Sie einfach das Kontrollkästchen für die Clientaffinität in der Serveraffinitätskonfiguration.

Konfigurieren Sie Ihre Lastverteilung auf Round Robin oder die geringste Antwortzeit in der Lastausgleichsschnittstelle und Ihre Anforderung wird Lastausgleich sein.

Wenn Sie mehr als einen ARR-Server haben, schlage ich vor, dass Sie Shared-Konfiguration auf Ihrem ARR deaktivieren, wir bekommen ein Problem mit diesen Funktionen auf dem ARR-Server.

0

Ich stimme @Cedric zu, nicht sicher, ob die Frage so gut formuliert wurde, wie es sein könnte?

Welche Art von Lastverteilung/Verteilung möchten Sie erreichen?

Möchten Sie die Last ausgleichen? Verteilung der Last auf bestimmte Serverfarmen basierend auf dem Anforderungsinhalt? Eine andere Funktion? Ein wenig mehr Informationen hier könnten helfen, eine bessere Antwort zu bekommen.

Funktioniert ARR mit WCF?

Ja, aber nur mit den HTTP-Bindings, soweit ich weiß (wsHttpBinding und basicHttpBinding).

Ich kann mir immer noch vorstellen, dass vor Ihren ARR-Servern ein Hardware Loadbalancer (oder eine andere Methode) installiert ist.

Ihre Webserver werden als Clients der Anwendungsserver fungieren, die Ihre WCF-Anfragen bedienen. Es sieht jedoch so aus, als ob Sie bereits zu einem DNS-Namen von myappservice.foo.local/home/GetInfo gehen - wenn es in eine virtuelle IP aufgelöst wird, erhalten Sie bereits ein Loadbalancing irgendeiner Art?

Warum nicht Ihre vorhandenen "Load Balancing Appliances" zum Lastenausgleich verwenden?

Ich könnte mir definitiv einen Hardware-Loadbalancer vorstellen, der Anfragen für mayappservice.foo.local bearbeitet, die dann in eine virtuelle IP-Adresse umgewandelt werden, die von Ihren ARR-Servern unterstützt wird. Dann könnten Ihre ARR-Server dann möglicherweise weiter verfeinern, wer die Anfrage bedient, vielleicht durch einen Inhalt der Anfrage? Vielleicht alle/home Anfragen an eine Gruppe von Servern und alle/foo an eine andere?

Ziemlich sicher, dass ich das Wasser ein bisschen mehr verdorrt! :) Aber ich bin sehr neugierig auf Gründe für die Suche nach ARR.

Verwandte Themen