使用服務導向架構 (SOA) 程式設計模型,解決方案開發人員和架構設計人員可以開發高效能運算 (HPC),啟用叢集的互動式應用程式,以啟用分散式運算案例。 若要搭配您的叢集使用SOA應用程式,您必須將至少一個節點設定為Windows Communication Foundation (WCF) 訊息代理程序節點。 訊息代理程式節點必須能夠與用戶端應用程式和計算節點通訊(如需SOA作業在叢集上運作方式的詳細資訊,請參閱 SOA作業)。
本主題包括:
WCF Broker 節點基本概念
您可以使用前端節點作為訊息代理程序節點,也可以將一或多個節點部署為訊息代理程序節點。 Broker 節點會監視和管理工作階段,以及協調SOA用戶端與服務主機之間的服務要求和回應。
這很重要
WCF Broker 節點只有在處於 在線 節點狀態時,才能用來管理SOA工作階段。
備註
若要使用前端節點作為訊息代理程序節點,您必須將前端節點帶入 在線 節點狀態。 根據預設,當您讓前端節點 上線時,它也會開始做為計算節點。 您可以使用 [變更節點角色 ] 動作來停用計算節點功能。 如需變更節點角色的相關信息,請參閱 調整訊息代理程序節點。
若要以WCF Broker 節點的形式執行,伺服器必須符合下列需求:
已安裝 Windows Server 2008 R2 HPC Edition 或其他 64 位版本的 Windows Server 2008 R2作系統。
線上到企業網路。 如需詳細資訊,請參閱 連接訊息代理程序節點、工作站節點或 Unmanaged 伺服器節點。
Broker 節點範本
若要將新的訊息代理程序節點新增至叢集,您必須建立訊息代理程序節點範本。 當前端節點偵測到網路上的新節點時,節點會出現在 [節點管理] 檢視中的 HPC 叢集管理員中。 叢集管理員會核准節點,並藉由指派節點範本將它們加入叢集。
您可以使用 HPC 叢集管理員中的節點範本精靈來建立訊息代理程式節點、計算節點或工作站節點範本。 指派範本時,會自動啟用對應的節點角色。
如果您想要從裸機部署訊息代理程序節點,您可以建立包含相關聯作系統映像的訊息代理程式節點範本。 如果您想要新增已設定為訊息代理程式節點的伺服器,您可以建立不包含相關聯作系統映像的訊息代理程式節點範本。 如需詳細資訊,請參閱 節點範本。
預先設定訊息代理程序節點
您可以直接在伺服器上安裝 Microsoft HPC Pack,以建立預先設定的訊息代理程序節點。 伺服器必須已安裝支援的 64 位 Windows Server作系統版本。
當您第一次在伺服器上安裝 HPC Pack 時,您可以選擇設定前端節點、計算節點或訊息代理程序節點。 您在精靈中所做的選取項目會決定安裝在節點上的功能。 當您藉由建立訊息代理程序節點來選取加入叢集的選項時,安裝精靈會包含指定叢集前端節點的步驟。
安裝完成時,新節點會出現在 [節點管理] 列表檢視中,做為 [ 未知 ] 狀態的 WCF Broker 節點。 接著,您可以指派不包含作系統映像的訊息代理程序節點範本,以核准節點並將其新增至叢集。
長期會話和 MSMQ
當 SOA 用戶端使用長期會話 API 在叢集上建立工作階段時,訊息代理程式節點會使用消息佇列 (MSMQ) 儲存訊息。 代理程式所儲存的回應可以隨時由用戶端擷取,即使在刻意或無意中斷聯機之後也一樣。 根據預設,MSMQ 記憶體限製為 8 GB。 視叢集上執行的訊息大小和永久性會話數目而定,您可以修改記錄保留期間或增加此限制。 長期會話使用的訊息可用磁碟空間量估計如下:
所需的磁碟空間 = (要求 x 要求大小的要求數目) + (回應數目 x 要求大小)
在 HPC 叢集管理員中,您可以將資料行新增至節點清單檢視,或建立 長期佇列總計位元組 和可用磁碟空間計量的熱度對應頁面,來監視訊息佇列大小總計(要求和回應)和 可用磁碟空間 總計。
您可以在 [功能] 底下的 [伺服器管理員] 中調整訊息佇列節點的訊息佇列限制。 以滑鼠右鍵按兩下 消息佇列, 然後按下 [ 屬性 ] 以修改記憶體限制,如下列螢幕快照所示:
在一般作業期間,訊息會以下列方式從 MSMQ 中刪除:
SOA 用戶端可能會導致 MSMQ 在關閉工作階段時刪除與其會話相關聯的訊息。
與已完成工作階段相關聯的訊息會在作業排程器組態選項的作業歷程記錄設定中指定的天數之後,自動從 MSMQ 刪除。 根據預設,已完成會話的記錄會保留五天。 另請參閱 瞭解作業歷程記錄。
限制訊息代理程序節點上的並行會話數目
您可以限制訊息代理程序節點上的並行會話數目。 達到定義的限制時,SOA 用戶端嘗試連線時會發生下列情況:
新的工作階段:SOA 用戶端會嘗試下一個訊息代理程序節點。 如果所有訊息代理程序節點都已滿,會話建立就會失敗。
附加至會話:附加作業會立即失敗,因為管理指定會話的訊息代理程序節點已在容量中。
若要設定限制,您可以編輯 MaxConcurrentSession 每個訊息代理程式節點上 HpcbBoker.exe.config 檔案中的 屬性值。 此檔案位於 %CCP_HOME%Bin 資料夾中。 的預設值 MaxConcurrentSession 為 0,這表示設定已停用,如下列 XML 程式代碼狙擊所示:
<userSettings>
<Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>
<setting name="MaxConcurrentSession" serializeAs="String">
<value>0</value>
</setting>
</Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>
</userSettings>
調整訊息代理程序節點
變更節點角色可讓您根據目前的需求,輕鬆地調整計算節點和 WCF 訊息代理程序節點。 當節點包含多個角色的功能時,您可以在 HPC 叢集管理員中啟用和停用節點角色。 當節點部署為訊息代理程序節點時,節點會包含訊息代理程序節點角色和計算節點角色的功能。 如需詳細資訊,請參閱 瞭解MICROSOFT HPC Pack 中的節點角色。
下列程序說明如何啟用 WCF 訊息代理程式節點角色:
啟用 WCF 訊息代理程式節點角色
在 [節點管理] 的 導航窗格中,按兩下 [ 節點]。
在檢視窗格中,以滑鼠右鍵按兩下節點,然後按兩下 [ 離線]。
在 [ 離線節點] 對話框中,按兩下 [ 是]。 查看檢視檢視窗格中的節點狀態,並等到節點的狀態已變更為 離線 ,再移至下一個步驟。
在檢視窗格中,以滑鼠右鍵按兩下節點,然後按兩下 [ 變更角色]。
在 [ 變更節點角色] 對話框中,選取 [WCF 訊息代理程式] 節點,然後按兩下 [ 確定]。
在檢視窗格中,以滑鼠右鍵按兩下節點,然後按兩下 [上線]。
在 [瀏覽窗格] 的 [ 節點] 底下,按兩下 [ 依群組] 下的 [WCFBrokerNodes]。 確認您設定的節點會出現在清單中。
其他考慮
您可以優化SOA工作負載的作業排程器資源配置原則。 如需詳細資訊,請參閱 了解原則設定。
開發人員會建立服務 DLL、服務組態檔和用戶端應用程式。 系統管理員會將服務 DLL 複製到叢集上的計算節點,並在前端節點上放置服務組態檔來註冊服務。 如需部署和設定SOA服務的相關信息,請參閱 管理MICROSOFT HPC Pack中的SOA服務。
服務組態檔可用來自定義訊息代理程式與特定服務互動的方式。 例如,您可以在個別服務層級定義訊息節流和負載平衡等訊息代理程序行為。 如需詳細資訊,請參閱 SOA應用程式、基礎結構和管理。
用戶端應用程式會為終端使用者提供介面,而後端用戶端應用程式會將 SOA作業 提交至叢集、使用訊息代理程序節點起始會話,以及傳送服務要求和接收回應。 終端使用者在其電腦上執行應用程式,而叢集節點會執行計算。 會話標識碼會對應至作業標識碼。
如需 WCF 訊息代理程式節點和 SOA 應用程式的詳細資訊,請參閱 SOA 應用程式、基礎結構和管理 白皮書。
如需使用 HPC 叢集管理員的詳細資訊,請參閱 HPC 叢集管理員概觀。