私はこれで壁にぶつかっているようで、問題に関するドキュメントがあまりないことも役に立ちません。
CRM への大規模なカスタム インポート ジョブを定期的に実行していますが、そのすべてで、カスタム クライアントから組織サービスを呼び出してレコードを CRM にプッシュする必要があります。レコードは、サンドボックス化されたカスタム プラグインを通過します。
インポートにはかなりの時間がかかるため、サンドボックス処理サービスを複数のサーバーにセットアップして、インポート速度を改善しようとしています。
これが私がこれまでに試したことです:
サンドボックス処理サービスを使用して別のサーバーを追加します。
/ Sandbox Processing Service (crmsb1) Client > Front End (crm) < \ Sandbox Processing Service (crmsb2)
サンドボックス処理サービスを使用して別のサーバーを追加しても役に立ちませんでした。フロント エンド サーバーは両方のサーバーに負荷を分散せず、元のサーバーを引き続き使用しました。最初のバックエンド サーバーでサンドボックス処理サービスを無効にした場合にのみ、2 番目のサーバーがプラグイン要求の処理を開始しました。(最初のオンラインを復活させても役に立ちませんでした。)
すべての役割を持つ 2 つの負荷分散サーバー。
/ Full Server (crm1) Client > IIS ARR (crm) < \ Full Server (crm2)
私はこのガイド(および他の多くのガイド) に従って、Web アプリケーションをリバース プロキシ経由で動作させましたが、組織サービス経由で要求を実行できませんでした。さらに別の設定を継続的に変更することで無数の WCF エラーを排除した後、このエラーで壁にぶつかり、
The security context token is expired or is not valid. The message was not processed.
負荷分散は Web アプリでのみ機能すると思い込んでいます。複数のサーバーで組織サービスを手動で呼び出します。
/ Full Server (crm1) Client < \ Full Server (crm2)
インポート クライアントをセットアップしてインポート ジョブを複数のチャンクに分割し、各チャンクに対してすべての組織サービス エンドポイントをラウンド ロビン方式で同時に呼び出すことに成功しました。これにより、期待どおりにインポート プロセスが大幅に高速化され、必要に応じてさらに拡張できるようになりました。
この件について見つけたものは何でも読みましたが、CRM 2011 で負荷分散がどのように機能し、どのような構成が可能なのか、正確にはまだわかりません。
これらの2 つの ガイドでは、ロード バランシングを広範に使用しましたが、その設定方法については詳しく説明していません。
これはすべて、ライブに移行する前のテスト環境でのセットアップです。すべてのサービスにドメイン アカウントを使用し、正しい SPN をセットアップし、SSL は使用しませんでした。ARR でクライアント アフィニティを使用して、または使用せずに試してみました (Cookie で動作するため、WCF サービスが 1 つのバックエンドにロックされていないと想定します)。
私の質問は次のとおりです。
サンドボックス処理サービス自体 (上記の 1) をアクティブ/アクティブ セットアップ (負荷分散) で複数のサーバーにセットアップすることは可能ですか? それともアクティブ/パッシブ (HA) としてのみサポートされますか?
複数のサンドボックス処理サービス インスタンスを使用する唯一の方法が、フロント エンドとバック エンドの役割 (上記 2) を持つ複数のサーバーをセットアップすることである場合、組織サービスに NLB や ARR などのロード バランサーを使用する方法はありますか?または、ロード バランサーは Web アプリでのみサポートされており、上記の 3 番目の方法を使用してサンドボックス処理サービスの負荷を分散する必要がありますか?