特色與功能
Microsoft AppFabric 1.1 for Windows Server 主控功能提供下列功能,可增強在「Windows 處理序啟用服務」(WAS) 中主控 .NET Framework 4 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 服務的功能:
簡化在 WAS 中部署及管理 WCF 與 WF 服務的方式
簡化設定長期工作流程持續性的方式
可自訂的追蹤設定檔 (能讓您只擷取所需資料)
用於追蹤資料的專屬可查詢儲存區
可讓您建立自訂管理指令碼的 Windows PowerShell Cmdlet
可自訂的主控服務監控功能
Windows IPv6 堆疊支援網際網路通訊協定第 6 版 (IPv6)。
自動啟動應用程式以將服務延遲降到最低
注意
此功能需要 Windows Server 2008 R2 或 Windows® 7。
AppFabric 快取 功能提供分散式記憶體內部快取平台,可讓您開發具有延展性及可靠性的高效能應用程式。以下列出 AppFabric 快取 功能的主要功能:
快取任何可序列化的 CLR 物件,並透過簡易的快取 API 提供存取
支援企業級需求:數十部到數百部電腦
可設定為以服務方式執行並透過網路存取
支援常見快取組態
支援透過新增節點的方式來動態擴充規模
提供高可用性功能,可讓您將資料的多份複本儲存在不同的快取主機,以支援快取之資料的連續可用性
自動化的負載平衡功能
與系統管理及監控工具 (例如,「Windows 事件追蹤」(ETW) 及 System Center) 整合。
與 ASP.NET 緊密整合,讓您可以將 ASP.NET 工作階段資料放入快取,而不需要將它寫入至來源資料庫。您也可以使用它來做為應用程式資料的快取,以便跨整個 Web 伺服陣列快取應用程式資料。
不支援的案例與組態
.NET Framework 4 可讓您使用 XAML (可延伸應用程式標記語言) 定義工作流程服務。AppFabric 是針對搭配 .NET Framework 4 工作流程服務使用而設計。這包括使用 SVC 檔案,或透過不使用 SVC 檔案啟用 Web 服務的新的以組態為礎的啟用功能來啟用的工作流程服務。如需有關以組態為基礎的啟用的詳細資訊,請參閱以組態為基礎的啟用。如需使用 XAML 將工作流程定義為服務的相關資訊,請參閱 .NET Framework 4 以及 "Dublin" 中的 WCF 和 WF 服務。
但在 Windows 處理序啟用服務 (WAS) 中主控的 WCF 和 WF 服務提供 AppFabric 不支援的下列服務啟用與組態選項。
不支援預先編譯的 Web 應用程式一部分的服務。預先編譯是 ASP.NET 用於改善網站效能的機制。當 ASP.NET 編輯器工具在第一個要求遇到 Web 應用程式的資源時,用於啟用的一般檔案內容類型 (例如 ASPX 或 SVC) 會編譯為組件。然後用自動產生的文字將其取代。這樣可確保檔案留下實體啟用進入點 (與 URL),即使不再需要其內容。AppFabric 工具探索與管理服務組態視剖析 SVC 檔案內容而定。用 ASP.NET 編譯器自動產生的文字取代 SVC 內容後,再也不能使用 AppFabric 列出與管理這些服務。如之前所述,使用預先編譯的 ASP.NET 應用程式一部分的 XAML 定義 .NET Framework 4 工作流程服務將持續在 Microsoft AppFabric 1.1 for Windows Server 中運作。如需詳細資訊,請參閱 ASP.NET 網站預先編譯。
不支援在執行階段使用 RouteTable.Routes.Add() 功能註冊與啟用的服務。.NET Framework RouteTable 類別用於儲存應用程式的 URL 路由。當 ASP.NET 應用程式處理要求時,應用程式會透過 Routes 屬性中的路由集合來反覆存取,以尋找與 URL 要求格式相符合的第一個路由。如需詳細資訊,請參閱 RouteTable 類別。
注意
使用用於服務註冊的 RouteTable 是需要傳統 REST 樣式的 URL 的 RESTful 服務常用模式。例如 https://server/AutoService/Car/123-345-678。
AppFabric 主控功能
AppFabric 主控功能依賴 WAS 為 WCF 與 WF 服務提供主控環境,而且延伸「IIS 管理主控台」的功能以提供可用於 WAS 型服務的管理與設定工具。若已在 WAS 中主控 WCF 或 WF 服務,「AppFabric 主控服務」可讓您列舉及管理這些服務。但是,若您的服務是在受管理的Windows 服務戶獨立應用程式中主控,您必須將服務移轉到 WAS 主控環境,才能使用 AppFabric 主控功能來搭配這些服務。
若目前在 WAS 以外的主機上主控服務,我們建議您仔細評估 AppFabric 的特色與功能,以及 WAS 主控環境的特色與功能,再決定是否將服務移至 WAS。如需有關 WCF 與 WF 服務主控選項的詳細資訊,請參閱主控服務 (https://go.microsoft.com/fwlink/?LinkId=166423) (可能為英文網頁)。
應用程式部署
目前的應用程式部署方法包括使用 Xcopy 或以特定技術為基礎 (例如,Windows Installer) 的部署套件。Xcopy 可將應用程式成品從對應至虛擬目錄的資料夾移至目的地資料夾。部署套件則可用來部署額外成品 (例如,憑證、與應用程式集區關聯的使用者帳戶、登錄設定與資料庫資料)。雖然現有的部署技術適用於單伺服器部署,但 Xcopy 的功能過於陽春,而建立 Windows Installer 套件的程序又太過複雜,而且可能需要深入了解部署技術才能實作。若因為需要分散單一伺服器負擔而想要將服務部署到伺服器陣列,上述兩種方法都非常不適合。
IIS Web Deployment Tool (MSDeploy) 提供簡單的套件型部署功能,而且支援從命令列、IIS 管理主控台或 Visual Studio 2010 執行。您也可以使用 MSDeploy 將某部電腦同步到另一部電腦。
如需有關 MSDeploy 的詳細資訊,請參閱 適用於 IIS7 的 Web Deployment Tool (https://go.microsoft.com/fwlink/?LinkId=127069) (可能為英文網頁)。
應用程式設定
應用程式管理性的其中一個要素是必須能在不變更基礎程式碼的情況下,套用會影響應用程式行為的組態選項。AppFabric 提供下列功能,可讓您設定主控之應用程式與服務的組態:
簡化的應用程式組態:AppFabric 主控功能所使用的指導方針是只有 Web.config 檔案中的組態設定會用於系統管理用途。來源程式碼中定義的設定無法存取,而且無法使用 AppFabric 系統管理工具來修改。此原則適用於命令式程式碼 (例如 C#) 與宣告式程式碼 (例如 XAML)。即使程式碼本身很容易被看到 (例如,XAML),設定仍會被視為鎖定而且無法存取。
為簡化組態管理作業,AppFabric 會為安裝程式設定的每個伺服器節點套用預設設定。這些設定是定義在根 Web.config 檔案中,而且只能工主控的應用程式使用。系統管理員也可以透過網站或應用程式 Web.config 檔案來套用網站或應用程式的專屬組態設定,以針對主控的應用程式套用更精確的追蹤或持續性行為。
透過 IIS 管理主控台提供的 WCF 組態選項:目前使用「WCF 服務組態編輯器」工具 (SvcConfigEditor.exe) 來設定 WCF 組態的方式,對於開發人員與 IT 專業人員來講都是一種挑戰。具體而言,使用「服務組態編輯器」需要十分了解 WCF 服務模型,這會造成 IT 專業人員的額外負荷。
AppFabric 透過適用於 WCF 與 WF 的「IIS 管理員」延伸模組來延伸熟悉的「IIS 管理主控台」功能,讓您可以輕鬆完成大部分的常見組態工作,進而改進此體驗。這包括可透過「IIS 管理員」延伸模組完成的功能,例如啟用追蹤、定義應用程式節流參數,以及列舉所有執行中的服務。您可以使用「AppFabric 設定精靈」或 IIS 7.0 提供的「IIS 設定編輯器」來套用其他組態設定。
WF 持續性組態:為支援長期執行之商務程序的長期工作流程概念,您可以將 WF 服務設定為持續性並放入持續性儲存區,然後在發生特定事件 (例如,收到訊息) 時繼續執行。但是,設定持續性仍有大量手動程序,需要您建立由長期儲存機制支援的持續性服務。
為簡化設定工作流程持續性的方式並支援伺服器陣列組態,「AppFabric 主控服務」提供 SQL Server 型持續性儲存區與 SQL 持續性提供者,可供在 WAS 中主控的所有長期工作流程使用。AppFabric 也可以讓您使用自訂持續性儲存區與提供者。AppFabric 支援設定預設持續性設定以供所有主控的應用程式繼承,或使用個別應用程式專屬的持續性設定。
Windows PowerShell Cmdlet:雖然在「IIS 管理主控台」中提供組態與管理選項已經可以讓您輕鬆地管理主控的應用程式,您有時候也想要建立指令碼來自動化涉及許多步驟的組態與管理工作。
為支援建立指令碼解決方案的案例,AppFabric 主控功能提供適用於 Windows Powershell 的 ApplicationServer 模組,您可以使用其中包含的 Cmdlet 來設定與管理主控的應用程式,效果就如同使用「IIS 管理主控台」提供的工具一樣。
應用程式監控
除了簡化主控之應用程式的部署、管理與設定作業之外,「AppFabric 主控服務」也可以擷取在執行階段中產生的追蹤資訊並將它儲存在監控資料庫中,讓您更輕鬆地監控應用程式。擷取此資訊之後,即可使用「IIS 管理主控台」中的「儀表板」功能來存取,或從監控資料庫存取。
您可以透過使用追蹤設定檔來擷取活動狀態 (例如,啟動、停止、失敗)、工作流程中的特定變數內容,或應用程式產生的自訂追蹤資訊 (使用自訂追蹤記錄),來自訂從應用程式收集的資訊。
應用程式主控
「AppFabric 主控服務」可搭配 WAS 使用,為中介層 WCF 與 WF 應用程式提供功能強大的主控環境。WAS 提供的某些功能如下:
以訊息為基礎的應用程式與工作者處理序啟用。應用程式可根據透過 HTTP 或非 HTTP 網路通訊協定傳入的工作項目,動態地啟動與停止。
強大的應用程式與工作者處理序回收功能,可維持執行中應用程式的健康情況。
集中式應用程式設定與管理。
除了 WAS 通常會提供的功能之外,.NET Framework 4 還在啟動主控服務方面提供加強功能。啟用使用 .NET Framework 3.5 建置的服務需要建立單獨的「服務檔案」(具有 .svc 副檔名) 並必須隨著服務部署。再者,若服務使用 WF,則必須建立額外的「可延伸應用程式標記語言」(XAML) 檔案 (具有 .xaml 副檔名) 並隨著服務部署。.NET Framework 4 負責協調直接啟用 WF 服務的工作,而不需要建立及部署獨立的 .svc 檔案。XAML 檔案的副檔名必須是 .xamlx,主機才能協調關聯之 WF 應用程式的直接啟用工作。WCF 與 WF 應用程式都可從 Web.config 檔案直接啟動,而不需要獨立的 .svc 檔案。如需有關 WAS 主控環境之此功能與其他功能的詳細資訊,請參閱主控 (https://go.microsoft.com/fwlink/?LinkId=166403) (可能為英文網頁)。
雖然簡化的主控服務啟用功能沒有服務檔案的需求,它並未解決 WAS 訊息式啟用機制的問題。當服務是在 WAS 中主控時,在收到目標是服務的訊息之前,並不會建立任何服務執行個體。這表示服務首次啟動時,它必須初始化新的執行個體 (例如,透過配置記憶體、載入程式庫與建立物件等方式)。若您的應用程式是用來處理即時性資料,這個個別服務啟動延遲可能會讓您無法接受。即使您的應用程式並不是用來處理即時資料,這個依賴訊息來啟動的機制也會對服務可接收的資料造成限制,因為訊息式啟動需要 WAS 啟動者。.NET 針對下列通訊協定提供啟動者:
http:為 IIS 7.0 與 WCF 提供 HTTP 啟用。
net.tcp:提供 TCP 連接埠型啟用。
net.pipe:提供具名管道型啟用。
net.msmq:搭配以 WCF 為基礎的「訊息佇列」(MSMQ) 應用程式使用。
msmq.formatname:提供與現有 MSMQ 應用程式的回溯相容性。
為克服訊息型啟動的限制,「AppFabric 主控服務」可利用 IIS 自動啟動功能 (由 Windows Server 2008 R2 與 Windows 7 提供) 自動啟動在 WAS 裝載的服務 (當服務已部署,而非而非等候啟動訊息)。
AppFabric 快取 功能
「AppFabric 快取 服務」會整合多部電腦的記憶體,為應用程式提供單一快取檢視。應用程式可儲存任何可序列化的 CLR 物件,而不需要在意物件的儲存位置。如果需要進行擴充,只要新增更多電腦即可。「AppFabric 快取 服務」也可以將資料的多份複本儲存在叢集中的不同節點,因此可保護資料避免遺失。「AppFabric 快取 服務」包含 ASP.NET 工作階段提供者,可讓系統將 ASP.NET 工作階段物件儲存到分散式快取,而不需要寫入到資料庫。這樣可提高 ASP.NET 應用程式效能與延展性。
2012-03-05