關於 Windows Azure Caching
Windows Azure Caching 支援在 Windows Azure 角色上主控 Caching 服務的能力。在此模型中,快取是雲端服務的一部分。從雲端服務內選取一個角色來主控 Caching。該角色的執行中執行個體加入記憶體資源來形成「快取叢集」(Cache Cluster)。此私用快取叢集僅適用於相同部署內的角色。Caching 有兩個主要部署拓撲:共置和專用。共置角色也主控其他非快取應用程式碼和服務。專用角色就是只用於 Caching 的背景工作角色。下列主題會詳細討論這些 Caching 拓撲。
如需角色型 Caching 的逐步解說,請參閱如何使用 Windows Azure Caching (英文)。如需可下載的範例,請參閱Windows Azure Caching 範例。
角色型 Caching 的好處
在 Windows Azure 角色內主控 Caching 有許多好處。下表提供這些好處的概觀及更詳細的說明。
| 特性 | 說明 |
|---|---|
|
沒有配額或節流 |
您的應用程式是快取的唯一取用者。沒有預先定義的配額或節流。實體容量 (記憶體和其他實體資源) 是唯一的限制因素。 |
|
隔離、彈性及控制 |
共置和專用拓撲可將資源的使用發揮到最大。您可以像控制自己的應用程式一樣來控制 Caching。 |
|
成本較低 |
使用快取不需額外費用。只需支付執行 Caching 之 Web/背景工作角色的費用。在共置案例中,您已支付角色的費用。 |
|
延展性 |
使用延展應用程式的相同方式來延展 Caching:變更虛擬機器大小或角色的執行中執行個體數目。也可以建立大型快取 (>100 GB)。 |
|
Visual Studio 整合 |
Caching 與 Visual Studio 整合,因此能更容易將 Caching 新增至您的應用程式。部署之前偵錯應用程式時,計算模擬器也提供最高準確性。 |
|
Memcache 支援 |
現在支援 Memcache 二進位和文字通訊協定,可輕鬆將 memcache 型應用程式移轉至 Windows Azure。 |
|
功能 |
在雲端服務部署內主控 Caching 的能力可增加支援的 Caching 功能數目。這些功能包括:具名快取、區域、標籤、高可用性、含通知的本機快取,以及與 Microsoft AppFabric 1.1 for Windows Server 之間更高的 API 對稱性。 |
|
效能 |
Windows Azure 已在附近找到雲端服務的角色執行個體來改進效能。在雲端服務中的角色主控 Caching 即利用了此一功能來縮短延遲和提高輸送量。 |
Caching 概念
本節提供與角色型 Caching 相關的三個主要概念概觀。
快取叢集
Windows Azure 角色有一個或多個執行個體。每一個執行個體是設定來主控指定角色的虛擬機器。當已啟用 Caching 的角色在多個執行個體上執行時,就形成快取叢集。快取叢集是分散式快取服務,使用叢集中所有機器的聯合記憶體。應用程式在快取叢集中新增和擷取項目時,不必知道項目儲存在哪一台機器上。如果啟用高可用性,項目的備份副本會自動儲存在不同虛擬機器執行個體上。
附註 |
|---|
| 每項雲端服務僅支援一個快取叢集。為每個角色指定個別的儲存體帳戶,即可在一項雲端服務中設定多個快取叢集。但是,不支援此設定。 |
當您在 Windows Azure 角色上啟用 Caching 時,您可以指定可用於快取的記憶體數量。在共置案例中,您可以在主控角色的虛擬機器上選擇可用的記憶體百分比。在專用案例中,虛擬機器的所有可用記憶體都會用於快取。不過,由於作業系統記憶體需求,可用記憶體一定會小於虛擬機器上的實體記憶體總計。
因此,Caching 記憶體總數取決於為 Caching 保留的角色記憶體乘以角色數目。您可以增加或減少該角色的執行中執行個體數目,以有效地提高或降低 Caching 記憶體總數。
警告 |
|---|
| 減少主控 Caching 的角色執行個體時,一次請勿減少超過三個執行個體。變更完成之後,您可以移除最多三個額外的執行中執行個體,重覆此步驟直到您達到執行中執行個體的必要數量。同時減少超過三個執行個體會導致快取叢集不穩定。 |
每一個快取叢集都會將叢集執行階段狀態的共用資訊存放在 Windows Azure 儲存體。在開發期間,您可以使用 Windows Azure 儲存體模擬器。部署的角色必須指定有效的 Windows Azure 儲存體帳戶。在 Visual Studio 中,您可以在角色內容的 [Caching] 索引標籤上指定適當的儲存體帳戶。
具名快取
每一個快取叢集至少都有一個名為 default 的快取。對於角色型 Caching,您也可以新增其他「具名快取」(Named Cache)。每一個快取有各種可變更的設定。下列螢幕擷取畫面顯示 Visual Studio 角色設定上,[Caching] 索引標籤的 [具名快取設定] 區段。
在 Visual Studio 中,按一下 [新增具名快取] 按鈕來新增其他具名快取。在前一個範例中,已新增其他兩個快取:NamedCache1 和 NamedCache2。每一個快取都有不同的設定。請在表格中選取和修改特定欄位來變更設定。
具名快取讓應用程式設計者更有彈性。每一個具名快取都有自己的內容。例如,一個快取可以啟用 [高可用性] 來享受高可用性。其他快取可能不需要此設定,且高可用性需要兩倍的記憶體來存放每一個快取的項目。最好只在需要高可用性的快取上使用高可用性,才能充分利用資源。在其他類似的情況下,可搭配不同內容來使用多個快取,以符合應用程式需求。
Cache Clients
「快取用戶端」(Cache Client) 是指在快取叢集中儲存和擷取項目的任何應用程式碼。以角色上的 Caching 而言,快取用戶端必須屬於相同的 Caching 角色,或納入部署中的其他角色內。請使用應用程式或 Web 設定檔來設定快取用戶端。如需詳細資訊,請參閱作法:準備 Visual Studio 來使用 Windows Azure 的 Caching。下列範例顯示設定檔中的 dataCacheClient 元素。
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="CachingRole1" />
<!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
</dataCacheClient>
</dataCacheClients>
在前一個範例中,autoDiscover 元素的 identifier 屬性設為 CachingRole1。此識別碼指定 CachingRole1 已啟用 Caching。它提供快取伺服器的位置。快取用戶端在任何 Caching 作業中會自動使用 CachingRole1。
設定快取用戶端後,它就可以依名稱存取任何快取。下列範例會存取 NamedCache1 快取並將項目新增至快取中。
DataCache cache = new DataCache("NamedCache1", "default"); cache.Put("testkey", "testobject");
DataCache 建構函式接受兩個參數:快取名稱和 dataCacheClient 區段名稱。如需快取名稱的詳細資訊,請參閱前一節的具名快取。
本節內容
另請參閱
建置日期:
附註
警告