Lastenausgleichsdienst für MS Dynamics CRM 2011 Sandbox Processing

9

Es scheint, als würde ich mit diesem hier eine Wand treffen, und es gibt auch nicht viel zu tun, wenn ich nicht viel über die Sache habe.

Ich führe regelmäßig große benutzerdefinierte Importjobs in CRM aus, und alle beinhalten das Aufrufen des Organisationsdienstes von einem benutzerdefinierten Client, um Datensätze in CRM zu übertragen. Die Datensätze durchlaufen benutzerdefinierte Sandbox-Plugins.

Die Importe brauchen ziemlich viel Zeit und ich versuche, die Importgeschwindigkeit zu verbessern, indem ich den Sandbox Processing Service auf mehreren Servern einstelle.

Folgendes habe ich bisher versucht:

  1. Fügen Sie einen anderen Server mit dem Sandbox Processing Service hinzu.

    %Vor%

    Das Hinzufügen eines anderen Servers mit dem Sandbox Processing Service hat nicht geholfen. Der Front-End-Server hat die Last nicht auf beide Server verteilt, sondern weiterhin den ursprünglichen Server verwendet. Nur wenn der Sandbox Processing Service auf dem ersten Back-End-Server deaktiviert wurde, begann der zweite Server mit der Verarbeitung von Plugin-Anfragen. (Die erste Online-Version hat nicht geholfen.)

  2. Zwei Lastenausgleichserver mit allen Rollen.

    %Vor%

    Ich folded dieses Handbuch (und viele andere), um den Brief zu erhalten und die Webanwendung über den Reverseproxy arbeiten zu lassen, aber die Ausführung von Anfragen über den Organisationsdienst fehlgeschlagen ist. Nachdem ich unzählige WCF-Fehler beseitigt habe, indem ich ständig eine andere Einstellung ändere, habe ich eine Wand mit diesem Fehler The security context token is expired or is not valid. The message was not processed. erreicht und lasse mich davon ausgehen, dass der Lastenausgleich nur für die Web App funktioniert.

  3. Rufen Sie den Organisationsdienst manuell auf mehreren Servern auf.

    %Vor%

    Es ist mir gelungen, den Import-Client einzurichten, um den Import-Job in mehrere Chunks aufzuteilen und alle Organisations-Service-Endpunkte für jeden Chunk gleichzeitig aufzurufen. Dies hat den Importprozess, wie ich es mir erhofft hatte, erheblich beschleunigt und gibt mir die Möglichkeit, bei Bedarf noch weiter zu skalieren.

Ich habe alles gelesen, was ich zu diesem Thema finden konnte, aber ich bin immer noch verwirrt, wie Lastenausgleich in CRM 2011 funktioniert und welche Konfigurationen möglich sind.

Diese zwei Anleitungen verwendet Lastausgleich ausgiebig, aber sie beschreiben nicht im Detail, wie sie es einrichten.

Dies alles wird in einer Testumgebung eingerichtet, bevor ich live gehe. Ich habe Domänenkonten für alle Dienste verwendet, die richtigen SPNs eingerichtet und kein SSL verwendet. Ich habe es mit & amp versucht; ohne Client-Affinität in ARR (es funktioniert mit Cookies, also nehme ich an, dass der WCF-Dienst nicht an ein Backend gebunden ist).

Meine Fragen sind wie folgt:

  1. Ist es möglich, den Sandbox Processing Service selbst (1 oben) auf mehreren Servern in einem aktiven / aktiven Setup (load balanced) einzurichten, oder wird er nur als aktiv / passiv (HA) unterstützt?

  2. Wenn Sie mehrere Sandbox Processing Service-Instanzen nur durch Einrichten mehrerer Server mit den Front-End- und Back-End-Rollen (2 oben) verwenden möchten, können Sie einen Load Balancer wie NLB oder ARR, für den Organisationsdienst, oder wird ein Load Balancer nur für die Web App unterstützt, und muss ich die 3. Methode oben verwenden, um den Sandbox Processing Service auszugleichen?

Yona 30.12.2012, 16:28
quelle

1 Antwort

4

Dies ist eine Reaktion auf Ihren Kommentar zu meinem Artikel ( Ссылка ). Ich werde die Antwort auch dort posten:

Die Sandbox-Dienste können nicht hinter einem Lastenausgleichssystem sitzen - oder die Art, wie sie entworfen wurden, eignet sich nicht gut für diese Konfiguration. Ich glaube, der CRM-Implementierungsleitfaden enthält Informationen dazu, aber die Sandbox-Dienste öffnen einen Netzwerk-Socket und überwachen einen bestimmten Port auf Datenverkehr. Wenn der Sandbox-Dienst erfolgreich online geht, ruft er zurück zu CRM auf, um sich selbst als "verfügbar" zu registrieren (also wissen Services wie async und Frontend, dass es verfügbar ist). Die Rollen, für die eine Isolierung (Sandboxing) erforderlich ist, runden den Aufruf von Robin bei Bedarf direkt über diesen TCP-Kanal in die Sandbox-Dienste ab. Weitere Informationen hierzu finden Sie hier: Ссылка . Beachten Sie außerdem, dass Sie möglicherweise auch einen benutzerdefinierten SPN für den Sandbox-Dienst einrichten müssen.

Lassen Sie es mich wissen, wenn Sie weitere Fragen dazu haben - Danke!

Sean

    
Sean McNellis 04.02.2013 19:10
quelle