2012-12-30 206 views
9

好像我用這個牆打了一堵牆,而且沒有太多關於此事的文檔也沒有幫助。負載平衡MS Dynamics CRM 2011沙箱處理服務

我定期向CRM運行大量自定義導入作業,並且它們都涉及從自定義客戶端調用組織服務以將記錄推送到CRM中。記錄通過自定義沙盒插件。

進口需要一段時間,我試圖通過在多臺服務器上設置沙盒處理服務來提高進口速度。

這裏是我試過到目前爲止:

  1. 添加另一個服務器的沙盒處理服務。

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

    使用沙箱處理服務添加另一臺服務器沒有幫助。前端服務器沒有將負載分配到兩臺服務器上,而是繼續使用原始服務器。只有在第一臺後端服務器上禁用沙箱處理服務時,第二臺服務器纔會開始處理插件請求。 (回到第一個在線沒有幫助。)

  2. 兩個具有所有角色的負載平衡服務器。

         /Full Server (crm1) 
    Client > IIS ARR (crm) < 
             \ Full Server (crm2) 
    

    我follwoed this guide(和許多其他人)的信,並得到了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中的負載平衡工作原理以及可能的配置方式感到困惑。

這些twoguides廣泛使用負載平衡,但他們沒有詳細描述他們如何設置它。

這是在我上線之前在測試環境中設置的全部內容。我爲所有服務使用了域帳戶,設置了正確的SPN,並沒有使用SSL。我嘗試了&在ARR中沒有Client Affinity(它與Cookie協同工作,所以我將假定WCF服務沒有鎖定到一個後端)。

我的問題如下:

  1. 是否有可能設置測試區處理服務本身(1以上)上的多個服務器中的活動/活動設置(負載平衡的),或者它僅支持作爲主動/被動(HA)?

  2. 如果使用多個沙盒處理服務實例的唯一方法是通過設置具有前端和後端角色(上面2)的多個服務器,是否有任何方式使用負載均衡器,如NLB或ARR ,對於組織服務,還是僅支持Web應用程序的負載均衡器,我必須使用上述第三種方法來平衡沙盒處理服務?

回答

4

這是響應您的評論我的文章(http://bit.ly/QOEvLF)我將穿越後的回覆有作爲:

沙盒服務是不能參加後面的負載平衡器 - 或方式它們的設計不適合這種配置。我相信CRM實施指南包含這方面的信息,但沙盒服務將打開一個網絡套接字並偵聽特定端口的流量。當沙盒服務成功上線時,它會回調CRM以將自己註冊爲「可用」(所以像異步和前端這樣的服務知道它是可用的)。需要隔離的角色(沙箱)將直接通過該TCP通道按需循環羅賓呼叫到沙箱服務中。欲瞭解更多信息,請參閱:http://bit.ly/CRMSetupFAQ。另外請注意,您可能還需要爲沙盒服務設置自定義SPN。

讓我知道你是否還有其他問題 - 謝謝!

肖恩

+0

感謝您的回覆。但是,這並不能解釋爲什麼一臺前端服務器不會爲兩臺沙箱服務器(上述1)負載均衡。 – Yona

+0

Hi Yona,在此之後不久,我遇到了Convergence的客戶,爲類似的問題增加了更多的上下文,最終發現了代碼中的邏輯錯誤。現在應該修復,你應該看到沙盒服務的正確的負載共享行爲。現在應該修復了,我不確定它發佈的是什麼UR,但我相信15應該包含2011年的修復程序,CRM 2013也應該包含該修復程序。 –