2015-12-05 34 views
2

我們在2011年有預定。我們爲app和db使用單獨的服務器。我們通常將同步,預驗證,完全信任插件部署到數據庫。有人能夠澄清當插件運行時哪些服務器資源會受到影響嗎?如果我們有很多插件同時執行,你會期望應用服務器還是數據庫服務器最受影響?crm 2011 OP:運行插件的服務器是什麼?

更新:我想我真正要問的是,如果我觸發(UI或應用程序)附加插件的實體的消息,幕後會發生什麼。具體來說,當插件運行時,上面給出的情況下,插件運行在哪個服務器內存空間中?異步/同步和消息處理階段會影響它嗎?例如如果插件是同步+預驗證與異步和術前....

回答

2

所以基本CRM部署由以下幾部分組成:

  • web前端,這是在哪裏安裝IIS和CRM網站。這是同步插件運行的地方。

  • 安裝CRM異步服務的後端。這是異步插件和工作流程運行的地方。

  • SQL數據庫。

根據安裝這些組件都可能是一臺服務器上,或分佈在多個服務器,你可以對多個服務器的多個副本負載平衡。

取決於你的插件在做什麼以及它是如何做的,所有可能都會受到影響。但是在這種情況下,它可能會安裝在應用程序服務器和SQL的任何位置。

您可能會發現以下有用:

+0

謝謝。我們的異步服務在應用程序服務器上。這是否意味着同步和異步插件將在應用程序服務器上執行?想知道如何使用插件註冊前/後操作,因爲他們是數據庫交易的一部分...我已經讀過這兩個鏈接,但仍然不清楚運行插件消耗的服務器內存...... – keerz

+0

@keerz,是我認爲這兩個插件都在應用服務器上執行。不知道如何實現數據庫事務。我想重點是資源將用於所有服務器上,例如運行在訪問數據庫的應用程序服務器(前端)上的插件將使用兩者上的資源。 –

+0

不知道我是否正確閱讀[this](https://technet.microsoft.com/zh-CN/library/hh699655.aspx#BKMK_InstallMeth),但我開始認爲異步和同步插件會更多很可能在數據庫服務器上運行。異步「服務」位於應用程序服務器上,但它現在看起來好像將所有東西放入似乎在數據庫服務器上運行的異步「隊列」中。此外,該文章沒有提到非沙盒插件......情節變濃了。 – keerz

4

有多種可能的方案:

  1. 你的插件被註冊爲非沙箱和同步。在這種情況下,您的插件代碼與前端Web服務器上的IIS進程內聯運行。
  2. 您的插件已註冊爲非沙盒並且是異步的。您的插件代碼正在CRM異步Windows服務中運行。該服務作爲「後端服務器」的一部分運行,因此它可能與前端Web服務器不在同一臺機器上。
  3. 你的插件被註冊爲沙箱,無論是同步還是異步。在這種情況下,您的插件代碼正在CRM沙箱處理服務中運行。此服務也運行在「後端」服務器上。

在任何情況下,您的代碼都不會在SQL Server上運行,儘管它仍然無疑會通過來自前端或後端CRM服務器的查詢和事務從SQL Server中消耗資源。

+0

謝謝。仍然有問題。對於1,如果插件註冊了pre/post操作,您能否解釋crm系統如何管理插件邏輯作爲數據庫事務的一部分執行?我一直認爲事務本身是由sql server管理的,那麼插件的執行過程如何適應該模型呢? – keerz

+0

事務在SQL服務器中仍處於打開狀態,所以如果post操作插件引發異常,事務將回滾。 –