Windows Server AppFabric 簡介
Windows Server AppFabric 延伸 Windows Server 功能,以提供加強的 Web 應用程式與中介層服務的主控、管理與快取功能。 AppFabric 主控功能將服務管理延伸新增至 Internet Information Services (IIS)、「Windows 處理序啟用服務」(WAS) 與 .NET Framework 4。這包括「主控服務」與「主控系統管理」工具,可讓您更輕鬆地部署、設定與管理以 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 為基礎的服務。 AppFabric 快取功能將分散式的記憶體內部物件快取新增至 Windows Server,讓您可以更輕鬆地調整高效能 .NET 應用程式的規模,特別是 ASP.NET 應用程式。
今日有許多類型的應用程式都使用服務與服務導向架構來建置,藉此提供從只公開某些功能做為服務供使用者存取,到公開應用程式本身做為許多服務的協調者。 現在您可以使用比以往更簡單的方式,建置可在此服務範疇中運作的應用程式。 當代應用程式的核心通常包含資料驅動交易式元件 (例如,在網站上接受訂單),以及可跨中介層管理這些交易的高度分散式商務邏輯。
部署、管理與監控中介層服務通常需要耗費許多人力,因為開發人員必須建立主控基礎結構,並花時間為其應用程式建立自訂部署解決方案。 即使在應用程式部署之後,開發人員通常還是需要手動修改組態檔以管理應用程式。 AppFabric 可簡化服務部署、提供可自訂的監控解決方案並提供豐富的管理工具 (全部可透過 IIS 管理主控台存取,或使用適用於 Windows PowerShell 的 AppFabric 模組以指令碼方式存取),因此有助於降低開發人員的負擔。
開發人員通常也必須負責提供可快速回應並具有高度延展性的應用程式。 不僅中介層服務如此,Web 應用程式、行動裝置應用程式與桌上型電腦應用程式也是如此。 隨著應用程式需求的增加 (例如,網站變得熱門或其他群體開始使用您的共用服務),大量的資料存取通常會限制應用程式的效能與延展性。 快取不僅是資料庫領域中廣為採用的解決方案,連高效能 Web 應用程式與複合式服務也逐漸採用快取做為基礎元件。 在上述兩種案例中,您都可以使用「AppFabric 快取服務」來提高具有大量資料存取需求之應用程式與服務的效能與延展性。 「AppFabric 快取服務」提供高可用性的分散式記憶體內部快取,可讓您彈性又輕鬆地調整規模,完全不會受到您的應用程式或資料層的限制。 透過 .NET API 以及與 ASP.NET/PowerShell 的緊密整合,「AppFabric 快取服務」可讓您輕鬆地將快取功能整合到您的解決方案,您不需要撰寫太多程式碼而且可以維持一致的管理體驗。
以下各節探討主控中介層服務與調整 Web 應用程式規模可能會面臨的挑戰,並說明 AppFabric 提供的解決方案。
如需有關 AppFabric 的詳細資訊,請參閱 Windows Server 開發人員中心 (https://go.microsoft.com/fwlink/?LinkId=182970) (可能為英文網頁)。
主控服務
挑戰
為包含 WCF 與 WF 型服務的應用程式設定主控環境的程序可能非常複雜,而且可能耗費許多時間。 雖然 IIS/WAS 為此類應用程式提供豐富的主控環境,但要使用其功能可能需要大量的開發程序、自訂部署解決方案,以及進行手動設定。 即使部署並設定解決方案,管理服務也是一項挑戰。
解決方案
「AppFabric 主控服務」可讓您輕鬆地建置 WCF 與 WF 型服務並快速部署及執行。 您可以利用 AppFabric 的主控功能,而不需要開發額外的主控功能。 「主控服務」透過提供預設的 WAS 主控環境組態,來延伸 WAS 的主控功能。 「主控服務」包含「工作流程管理服務」提供的功能,其中包含鎖定/重試、自動啟動、長期計時器,以及命令佇列。
「AppFabric 主控系統管理」提供可讓您更輕鬆地管理執行中工作流程執行個體的工具,而且這些工具具有控制、監控與查詢功能。 您也可以使用標準方式來設定 WAS 以及在 WAS 中主控的應用程式。 「主控系統管理」工具可讓您設定服務端點位址、管理自動啟動的啟用,以及設定安全性和效能設定。
如需有關 AppFabric 之主控功能的詳細資訊,請參閱主控概念。
AppFabric 記憶體內部快取平台
挑戰
一直以來,開發人員就使用記憶體內部快取來儲存常用應用程式資料,以提高應用程式效能。 讀寫記憶體的速度比讀寫磁碟的速度快上許多。 但是,記憶體內部快取大小通常受限於應用程式執行所在之電腦的記憶體數量,而且儲存在記憶體內部快取的資料可能因為電腦記憶體特性,而在系統發生無法復原的錯誤時完全遺失。 開發可完全利用記憶體內部快取的應用程式時,還可能面臨找不到可在記憶體快取中儲存與擷取物件的應用程式開發介面 (API) 的窘境。 此外,開發可利用快取功能的應用程式時,可能也會因為缺乏快取管理功能而受到限制。
解決方案
AppFabric 快取功能可讓您將多部電腦的記憶體容量結合至單一快取叢集,以便使用低成本的解決方案輕鬆地調整 .NET 應用程式規模。 這些功能包括「快取服務」、「快取用戶端」與「快取管理」工具。 「AppFabric 快取服務」具有高度延展性,可讓您將多部電腦設定為快取叢集的節點,以組成單一記憶體快取。 「快取服務」提供高可用性功能,可將資料的多份複本儲存在不同的快取主機,以支援快取之資料的連續可用性。 在多伺服器叢集中啟用高可用性時,萬一某部快取伺服器失敗,您可以應用程式仍可擷取其快取資料。
「快取服務」提供豐富的 API 與詳盡的說明文件,可讓您將記憶體內部快取整合到 .NET 型應用程式。 此外,它更與 ASP.NET 緊密整合,可在快取中儲存工作階段狀態。 這樣為 ASP.NET 網站提供具成本效益的路徑,以快速提高網站效能與延展性。 「AppFabric 快取管理」提供豐富的系統管理工具,可讓您建立、設定與管理記憶體內部快取。 AppFabric 的快取與主控功能都包含在整合的安裝套件中。
如需詳細資訊,請參閱Windows Server AppFabric 快取功能。
設定工作流程持續性
挑戰
在 Windows Workflow Foundation 中部署與執行長期執行的狀態式服務可能是一項挑戰。 若要設定持續性以確保工作流程可長期執行,您可能需要建立持續性儲存區、建立結構描述、設定持續性資料庫,然後進行適當的設定。 在生產環境中,您的資料庫可能鎖定已叫用之長期工作流程的執行個體。 其中某些工作流程執行個體可能已暫停,而某些工作流程執行個體可能是執行中。 因此,您將很難判斷系統發生什麼事。
解決方案
透過 AppFabric,持續性是內建功能。 「AppFabric 主控服務」使用 .NET Framework 4 隨附的 SQL 持續性儲存區,並會建立預設的持續性資料庫供您的應用程式使用,讓您可以在一組電腦之間調整狀態式服務的規模。 您也可以視需要使用自訂的持續性儲存區。 「AppFabric 主控系統管理」提供可用來監控持續性資料庫或長期執行之工作流程的工具。
如需有關 AppFabric 之持續性功能的詳細資訊,請參閱持續性概念。
監控服務
挑戰
使用 WCF 與 WF 型應用程式時,您無法隨時檢視服務與工作流程執行個體的狀態。 若服務與工作流程在多部電腦上執行,它們是從哪啟動? 其中哪些已啟動? 其狀態為何? 它們是否發生錯誤?
解決方案
AppFabric 的「主控服務」與「主控系統管理」可讓您監控執行中 WCF 與 WF 服務的健康情況並進行疑難排解,而且可以讓您控制那些服務。 您可以在「IIS 管理員」的 [AppFabric 儀表板] 頁面執行此動作。 「AppFabric 儀表板」可讓您持續監控系統的狀態。 監控資料可協助您更有效地控制工作流程執行個體。 您也可以彈性地變更產生資料的查詢,以及選取可讓您收集足夠資料以監控應用程式健康情況的監控等級,同時您也可以將監控應用程式的效能成本控管在適當的範圍。 AppFabric 監控功能是以 .NET Framework 所提供的追蹤與監控功能為基礎而建置。
事件是儲存在監控資料庫中,而您可以透過「主控系統管理」工具來存取此資料庫。 追蹤參與者會將事件寫入至 Windows 事件追蹤 (ETW) 工作階段,而隨著 AppFabric 主控功能安裝的「事件收集服務」則會從 ETW 工作階段讀取事件,進而提供高效率的資料處理功能。 當您安裝 AppFabric 主控功能時,安裝程式會建立可設定的監控基礎結構,此基礎結構是針對在您的生產環境使用所設計。 您可以使用 .NET Framework 4 隨附的 SQL 監控儲存區,或視需要使用自訂儲存區。 您可以將 AppFabric 設定為自動清除監控資料庫。
如需有關 AppFabric 之監控功能的詳細資訊,請參閱監控功能概念。
管理工具
挑戰
IT 專業人員與開發人員需要功能強大、易於使用的工具來協助他們處理生產環境中的 WCF 或 WF 型服務。 為管理應用程式,您可能需要使用數種工具,並手動編輯組態檔。 您可能無法檢視服務相關資料,而且無法完全控制組態。 此外,可能也很難判斷如何設定應用程式組態,因為您可能需要使用「服務組態編輯器」來開啟許多組態檔並編輯其組態元素。
解決方案
AppFabric 主控功能提供豐富的「IIS 管理員」延伸模組,可讓您有效地管理服務。 「AppFabric 儀表板」可讓您檢視系統的健康情況,而整合式組態使用者介面則可讓您控制服務組態。 您可以視需要繼續、暫停、取消或終止持續性工作流程執行個體,以及啟動或停止服務。 因為使用者介面是以「IIS 管理員」為基礎,您可以使用與管理 Web 應用程式相同的方式與工具來管理 WCF 與 WF 型服務。 在「IIS 管理員」就可以執行許多應用程式管理工作,而不需要在各種工具之間切換或手動編輯許多組態檔。
在 AppFabric 的「IIS 管理員」延伸模組中,您可以輕鬆地列舉伺服器上的服務,以及變更查詢以調整資料。 您可以檢視執行中/已停止的工作流程執行個體數目。 您可以檢視持續性工作流程執行個體,或追蹤工作流程執行個體。
在「IIS 管理員」中,您可以在單一對話方塊中檢視服務的組態。 在該對話方塊中,您可以設定服務的組態,以及可由服務繼承的應用程式、網站或伺服器預設組態設定。 「AppFabric 主控服務」利用 .NET Framework 4 的行為合併功能,因此可讓服務從任何等級的 IIS 階層繼承組態屬性。 在許多組態案例中,您都不需要直接存取組態檔,因為「主控服務」可讓您輕鬆編輯適當之 Web.config 檔案中的組態設定。
「主控系統管理」工具包含 Windows PowerShell Cmdlet,可協助您從 PowerShell 主控台管理應用程式,或透過指令碼以自動化方式管理服務。 這些 PowerShell 模組包含適用於「AppFabric 主控服務」的 ApplicationServer 模組,以及適用於「AppFabric 快取服務」的 DistributedCacheAdministration 與 DistributedCacheConfiguration 模組。
AppFabric 包含可讓您同時安裝 AppFabric 主控功能與快取功能的安裝精靈,以及可讓您設定這些功能的設定精靈。 您也可以使用 WebPI 來安裝 AppFabric。
如需有關 AppFabric 之管理工具的詳細資訊,請參閱 管理工具。
開發服務
挑戰
使用新產品時,您通常需要學習開發應用程式的新方式,才能利用產品的新功能或與現有產品整合。
解決方案
使用「AppFabric 主控服務」時,建立應用程式沒有任何特殊需求,您只需要確定應用程式可使用「Windows 處理序啟用」服務 (WAS) 部署在 IIS/WAS 主控環境。 Visual Studio® 中的預設專案範本 (「WCF 服務應用程式」與「WCF 工作流程服務應用程式」) 支援 IIS/WAS,而且不需任何修改即可由 AppFabric 管理。 若您目前有任何應用程式是在 WAS 中主控,不需修改即可將它們部署到 AppFabric。
如需有關開發在 AppFabric 使用之應用程式的詳細資訊,請參閱 開發應用程式。
部署服務
挑戰
將服務從一部伺服器部署到另一部伺服器或使用相同組態將服務部署到多部伺服器的程序可能非常複雜。
解決方案
「AppFabric 主控服務」利用 Microsoft Web Deployment Tool (亦稱為 Web Deploy Tool) 將服務部署至其主控環境。 Web Deployment Tool 同時與 IIS 及 Visual Studio 環境整合,因此您可以輕鬆地直接從 Visual Studio 封裝及部署服務,或直接從「IIS 管理員」部署預先封裝的應用程式。
如需有關在 AppFabric 中部署應用程式的詳細資訊,請參閱典型部署與部署應用程式。
主控服務與系統管理擴充性
挑戰
某些預先封裝的解決方案可能難以建置。
解決方案
AppFabric 主控功能提供可讓您建立自訂解決方案的擴充點。 您可以將模組新增至「IIS 管理員」,也可以在「AppFabric 主控系統管理」Cmdlet 之上建立自訂 UI 工具。 您可以為應用程式的目標使用者提供自訂 UI。 您可以建立自訂 Cmdlet,或視需要使用管道處理功能來結合 AppFabric Cmdlet。 「主控服務」中的監控與持續性功能也可以使用擴充點。 您可以使用自訂的監控儲存區或持續性儲存區。
如需有關 AppFabric 之擴充性的詳細資訊,請參閱AppFabric 擴充性。
2011-12-05