9

私はこれで壁にぶつかっているようで、問題に関するドキュメントがあまりないことも役に立ちません。

CRM への大規模なカスタム インポート ジョブを定期的に実行していますが、そのすべてで、カスタム クライアントから組織サービスを呼び出してレコードを CRM にプッシュする必要があります。レコードは、サンドボックス化されたカスタム プラグインを通過します。

インポートにはかなりの時間がかかるため、サンドボックス処理サービスを複数のサーバーにセットアップして、インポート速度を改善しようとしています。

これが私がこれまでに試したことです:

  1. サンドボックス処理サービスを使用して別のサーバーを追加します。

                              / Sandbox Processing Service (crmsb1)
    Client > Front End (crm) <
                              \ Sandbox Processing Service (crmsb2)
    

    サンドボックス処理サービスを使用して別のサーバーを追加しても役に立ちませんでした。フロント エンド サーバーは両方のサーバーに負荷を分散せず、元のサーバーを引き続き使用しました。最初のバックエンド サーバーでサンドボックス処理サービスを無効にした場合にのみ、2 番目のサーバーがプラグイン要求の処理を開始しました。(最初のオンラインを復活させても役に立ちませんでした。)

  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 アプリでのみ機能すると思い込んでいます。

  3. 複数のサーバーで組織サービスを手動で呼び出します。

            / Full Server (crm1)
    Client <
            \ Full Server (crm2)
    

    インポート クライアントをセットアップしてインポート ジョブを複数のチャンクに分割し、各チャンクに対してすべての組織サービス エンドポイントをラウンド ロビン方式で同時に呼び出すことに成功しました。これにより、期待どおりにインポート プロセスが大幅に高速化され、必要に応じてさらに拡張できるようになりました。

この件について見つけたものは何でも読みましたが、CRM 2011 で負荷分散がどのように機能し、どのような構成が可能なのか、正確にはまだわかりません。

これらの2 つの ガイドでは、ロード バランシングを広範に使用しましたが、その設定方法については詳しく説明していません。

これはすべて、ライブに移行する前のテスト環境でのセットアップです。すべてのサービスにドメイン アカウントを使用し、正しい SPN をセットアップし、SSL は使用しませんでした。ARR でクライアント アフィニティを使用して、または使用せずに試してみました (Cookie で動作するため、WCF サービスが 1 つのバックエンドにロックされていないと想定します)。

私の質問は次のとおりです。

  1. サンドボックス処理サービス自体 (上記の 1) をアクティブ/アクティブ セットアップ (負荷分散) で複数のサーバーにセットアップすることは可能ですか? それともアクティブ/パッシブ (HA) としてのみサポートされますか?

  2. 複数のサンドボックス処理サービス インスタンスを使用する唯一の方法が、フロント エンドとバック エンドの役割 (上記 2) を持つ複数のサーバーをセットアップすることである場合、組織サービスに NLB や ARR などのロード バランサーを使用する方法はありますか?または、ロード バランサーは Web アプリでのみサポートされており、上記の 3 番目の方法を使用してサンドボックス処理サービスの負荷を分散する必要がありますか?

4

1 に答える 1

4

これは、私の記事 ( http://bit.ly/QOEvLF ) に対するあなたのコメントへの返信です。

サンドボックス サービスは、ロード バランサーの背後に配置することができません。または、その設計方法がその構成に適していません。CRM 実装ガイドにこれに関する情報が含まれていると思いますが、サンドボックス サービスはネットワーク ソケットを開き、特定のポートでトラフィックをリッスンします。サンドボックス サービスが正常にオンラインになると、CRM にコールバックして、自分自身を "使用可能" として登録します (これにより、非同期やフロント エンドなどのサービスが使用可能であることを認識します)。分離 (サンドボックス化) を必要とするロールは、必要に応じて、その TCP チャネルを介して直接サンドボックス サービスへのラウンド ロビン呼び出しを行います。詳細については、http: //bit.ly/CRMSetupFAQを参照してください。また、サンドボックス サービス用のカスタム SPN もセットアップする必要がある場合があることに注意してください。

これについてさらに質問がある場合はお知らせください。ありがとうございます。

ショーン

于 2013-02-04T19:10:34.967 に答える