典型部署
Windows Server AppFabric 伺服器部署拓撲與您的商業需求及要主控之應用程式的需求息息相關。雖然很難使用任何單一部署做為典型及提供有效的指導方針,本節仍提供在您的環境中部署 AppFabric 的指導方針與建議。
我們將討論下列部署主題:
AppFabric 單一伺服器部署
AppFabric 伺服器陣列部署
AppFabric 快取功能部署安全性考量
AppFabric 快取功能部署案例
AppFabric 單一伺服器部署
在單一電腦上安裝 AppFabric 的情況稱為「單一伺服器部署」。在所有應用程式開發作業都是在單一電腦上完成的開發環境中,通常會使用這種部署方式。
SQL Server
因為向外延展並非開發環境的考量,此類型的 AppFabric 部署可設定為使用在本機安裝的 SQL Server Express 來存放監控與持續性資料庫。
應用程式部署
雖然應用程式部署作業可透過封裝應用程式並使用 MSDeploy 部署到 AppFabric 來達成,開發人員可能會改為將其專案設定為直接使用執行 IIS 的本機伺服器做為主控應用程式的方式,因為使用此方式在測試環境中主控應用程式所需的步驟最少。但是,我們建議開發人員在移轉到執行或生產環境之前先測試應用程式的封裝與部署,以確保可正確地部署封裝的應用程式。
如需有關部署應用程式的詳細資訊,請參閱部署應用程式。
AppFabric 伺服器陣列部署
雖然開發環境只需要一部已同時安裝 AppFabric 與 SQL Server 的電腦,生產環境中通常由伺服器陣列中的多部電腦組成,而且通常有一或多部專用的 SQL Server 伺服器。此類環境也可以使用負載平衡器與佇列來管理目標為您的應用程式的內送訊息,而且可以使用 SQL Server 叢集來提供高可用性。
小規模的 AppFabric 部署可能是從在單一電腦安裝 AppFabric 開始,進而演變成伺服器陣列,其中您的應用程式是部署在多部伺服器上,成為高度分散式應用程式。向外延展可讓您實作負載平衡解決方案,因此對於內送訊息的處理負載可分散到多部伺服器,而且可為使用持續性的工作流程提供加強的容錯。
SQL Server 叢集
雖然本節並未深入說明,我們建議您將資料庫叢集化以提供容錯移轉保護。如需有關 SQL Server 容錯移轉叢集的詳細資訊,請參閱 規劃災害復原 (https://go.microsoft.com/fwlink/?LinkId=131016) (可能為英文網頁)。
長期應用程式向外延展
處理長期執行的程序時,您的應用程式必須能在系統重新啟動、發生硬體失敗或其他意外的伺服器停機之後繼續運作。AppFabric 提供預設的持續性提供者,讓您的工作流程應用程式用來為長期執行的應用程式提供持續性。
在單一伺服器部署中,持續性可讓工作流程執行個體在其執行所在伺服器恢復健康狀態之後繼續執行;在伺服器陣列部署中,應用程式則可在伺服器陣列中的任一部電腦上繼續執行。此外,若工作流程執行個體是在單一伺服器上執行,且目標為該執行個體的訊息被傳送到另一部伺服器,持續性可將該執行中的執行個體移至收到該待處理訊息的電腦,以便工作流程可處理該訊息。
如需詳細資訊,請參閱設定工作流程持續性。
資料隔離
AppFabric 的預設組態是將持續性與監控資訊儲存在單一資料庫中。雖然這對於開發環境而言已足夠,但是生產環境通常需要使用更強大的資源集來儲存資料。AppFabric 可讓您建立多個獨立的持續性與監控資料庫,以支援在多部執行 SQL Server 的電腦上隔離資料。
因為 AppFabric 支援建立多個資料庫,您不僅可以依照功能 (持續性或監控) 來區分資料,也可以依應用程式來區分。若您的應用程式有較高的資料儲存需求,您可以建立專供此應用程式或服務使用的持續性與監控資料庫。
如需有關建立額外資料庫的詳細資訊,請參閱資料庫管理。
應用程式部署
將應用程式部署至多部電腦時,必須使用一致且可重複執行的部署方式。為達成此目標,AppFabric 使用 MSDeploy 來封裝與部署 Web 應用程式、網站或 Web 伺服器內容與組態。MSDeploy 也可以用來將網站或 Web 伺服器上的資料同步到本機電腦或伺服器陣列中的遠端電腦。
如需有關部署應用程式的詳細資訊,請參閱部署應用程式。如需有關 MSDeploy 的詳細資訊,請參閱 Web Deployment Tool (https://go.microsoft.com/fwlink/?LinkId=151481) (可能為英文網頁)。
AppFabric 快取功能部署安全性考量
AppFabric 分散式快取系統是設計為在防火牆內部的資料中心上運作。本節中說明的伺服器是主控快取組態儲存位置、快取伺服器、可進行快取的應用程式伺服器、開發伺服器與主要資料來源伺服器的伺服器。所有伺服器都必須位於相同網域。
因為已快取的資料以及在快取伺服器之間傳送的 TCP/IP 通訊並未加密,此分散式快取系統容易遭到會記錄或修改網路流量的惡意網路攻擊。
注意
「AppFabric 快取用戶端」應位於應用程式生態系統的應用程式層中。您應該防止組織網域內部或外部的使用者透過網路直接存取快取伺服器。
將快取伺服器解除委任時,AppFabric 安裝程式可能不會移除所有防火牆連接埠例外。解除安裝 AppFabric 之後,建議您重新套用標準防火牆組態。
AppFabric 快取功能部署案例
為簡化我們討論的部署選項,本節將重點放在三個不同的範例:
開發人員部署。 用來開發可進行快取的應用程式的單一電腦部署。
中型部署。 不使用 SQL Server 而使用主要主機來執行叢集管理角色的多電腦安裝。
企業部署。 使用 SQL Server 來儲存叢集組態設定及執行叢集管理角色的多電腦安裝。
下表摘要說明 AppFabric 快取功能的安裝位置,以及如何執行叢集管理角色。
AppFabric 快取功能 | 開發人員部署 | 中型部署 | 企業部署 |
---|---|---|---|
快取叢集組態儲存位置 |
本機的共用資料夾或開發人員工作站 |
檔案伺服器上的共用網路資料夾 |
SQL Server 資料庫 |
快取伺服器安裝 (安裝 Windows 服務與 Windows PowerShell 管理工具) |
開發人員工作站 |
一或多部快取伺服器 (受限於資料夾的並行連線數目上限) |
一或多部快取伺服器 |
快取用戶端組件 |
開發人員工作站 |
一或多部應用程式伺服器 |
一或多部應用程式伺服器 |
快取叢集組態設定可儲存在SQL Server 資料庫或 SQL Server 資料庫中。如需有關這些選項的詳細資訊,請參閱叢集組態儲存選項 (Windows Server AppFabric 快取)。
叢集管理角色可由主要主機或 SQL Server 執行。就快取叢集可用性觀點而言,使用 SQL Server 是最佳選項。如需詳細資訊,請參閱主要主機與叢集管理 (Windows Server AppFabric 快取)。
開發人員部署
使用開發人員部署方式時,建立可進行快取的應用程式所需的所有元件 (包括快取叢集本身) 都位於開發人員的工作站上。此部署方式是開始使用 AppFabric 快取功能的最簡便方式。
中型部署
使用中型部署方式時,您可以應用程式可以享有分散式快取叢集的優點。您可以根據應用程式層的成長需求,輕鬆地調整應用程式的規模。
此部署案例不使用 SQL Server 來儲存叢集組態設定,因此會有一些缺點。某些作業系統之共用資料夾支援的並行連線數目有限制,這會直接影響分散式快取叢集中的快取主機數目。Windows XP、Windows Server 2003 與 32 位元版本的 Windows Vista 的共用網路資料夾不允許超過 10 個並行連線。我們建議您不要使用這些作業系統來儲存大型叢集的快取組態設定。
若嘗試執行同時安裝多部快取伺服器或將此作業自動化,可能會造成爭用叢集組態檔的情形。最可靠的快取伺服器安裝策略是一次安裝一部快取伺服器。
因為此案例不使用 SQL Server,進行安裝時不需要取得並安裝 SQL Server,也不需要為您的應用程式建立叢集組態資料庫。就時間與金錢的觀點來看,這可能不是最節省成本的方式 (視您已經為應用程式提供的項目而定)。使用共用資料夾叢集組態儲存位置時,快取叢集中的所有快取伺服器與共用網路資料夾之間必須有持續的網路連線。
在不使用 SQL Server 的情況下,只有主要主機可執行叢集管理角色。因為大部分的主要主機都必須在執行中,快取叢集才可用,所以此案例中的快取叢集比較容易發生伺服器失敗的情形。此案例也會讓為應用程式提供可用性而進行的伺服器維護作業變得更複雜。如需詳細資訊,請參閱主要主機與叢集管理 (Windows Server AppFabric 快取)。
企業部署
與其他部署案例相較,企業部署提供最佳的可用性與支援能力體驗。它需要 SQL Server 資料庫,這對於某些應用情況而言可能無法達成。
當使用 SQL Server 來執行叢集管理角色時,即使叢集中的大部分快取伺服器都失敗,只要有一部快取伺服器仍正常運作,叢集就能繼續執行。就像使用共用資料夾叢集組態儲存選項,快取伺服器與 SQL Server 資料庫之間必須有持續的網路連線。
注意
當您停止快取伺服器時,不論該伺服器是否正在執行叢集管理,儲存在該伺服器之記憶體中的資料會遺失。對於已啟用高可用性功能的具名快取,叢集中的其他伺服器上仍有已遺失之資料的複本,而且系統會將這些複本快速地複製到次要伺服器上。如需詳細資訊,請參閱高可用性 (Windows Server AppFabric 快取)。
此案例中沒有任何快取伺服器執行叢集管理角色,因此可大幅簡化針對高可用性應用程式維護伺服器的作業。此外,也沒有複雜的伺服器重新啟動順序要求。如需詳細資訊,請參閱主要主機與叢集管理 (Windows Server AppFabric 快取)。
在需要大量並行連線的情況中,使用 SQL Server 非常實用。這樣可讓您以自動化方式同時安裝多部快取伺服器,而不會有中型部署的叢集大小限制。如需詳細資訊,請參閱安裝 .NET 4 的應用程式伺服器擴充功能 (https://go.microsoft.com/fwlink/?LinkId=169172)。
另請參閱
概念
架構概觀
叢集組態儲存選項 (Windows Server AppFabric 快取)
共用資料夾型叢集組態 (Windows Server AppFabric 快取)
SQL Server 型叢集組態 (Windows Server AppFabric 快取)
使用 Windows PowerShell 來管理 Windows Server AppFabric 快取功能
主要主機與叢集管理 (Windows Server AppFabric 快取)
2011-12-05