2013-07-21 22 views
0

我已經在Azure AppFabric緩存讀取位。從我瞭解它的分佈式緩存。Azure的AppFabric的分發緩存它是如何工作

但是我有點困惑與配置下面沒有主機節點指定。

可能有人請澄清,如果下面的配置仍然是一個分佈式的緩存?如果是,考慮到緩存存儲位於每個實例的本地資源上,它是如何分佈的?

<dataCacheClients> 
     <dataCacheClient name="default"> 
     </dataCacheClient> 
    </dataCacheClients> 

<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider"> 
    <providers> 
    <add name="AppFabricCacheSessionStoreProvider" 
     type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, 
Microsoft.Web.DistributedCache" 
     cacheName="default" 
     useBlobMode="true" 
     dataCacheClientName="default" /> 
    </providers> 

</sessionState> 

回答

0

你從哪裏得到上面的配置?我想知道它是否會在其他配置位置丟失一些東西。

有兩種類型的Windows Azure中緩存服務。過去被稱爲AppFabric緩存,但現在簡稱爲Windows Azure共享緩存。您會希望避免使用名爲AppFabric的舊文檔,因爲它們不再使用該名稱,使用它的文章,文檔和示例可能已過時。另一種選擇是Windows Azure緩存,命名中的唯一區別是術語「共享」。這兩個選項都是分佈式緩存;然而,使他們與衆不同的是他們分配給他們的地方以及他們支持的功能。我將從Windows Azure緩存開始(非共享)。

Windows Azure的緩存是相對較新的選項,你還可以看到它被稱爲基於角色的緩存。這個緩存的版本給你更多的靈活性和功能,如命名高速緩存,從高速緩存檢測項目的去除能力,等等​​。這個選項也有沒有限制和配額,可以從緩存如果得到阻止你的好處你的負載有一個尖峯。此外,根據您配置託管緩存的角色的方式,您需要爲所需的緩存大小付費,並且最終在緩存周圍擁有更多的靈活性。您可以將此分佈式緩存配置爲在Cloud Service部署中的某個角色上運行。所以,如果你有一個Web角色,你可以設置它來運行你的網站以及託管你的分佈式緩存。你也可以有一個專門的工作者角色,它只是分佈式緩存的主機。查看本文以瞭解此選項的容量規劃:http://msdn.microsoft.com/en-us/library/windowsazure/hh914129.aspx

Windows Azure的共享緩存是以前被稱爲AppFabric緩存,是一個共享服務,您可以插入。它是一個分佈式緩存,數據託管在Windows Azure中的Microsoft運行實例上。由於它是一項共享服務,因此您可以簡單地使用配額和限制,以便服務的一個用戶不會太大地影響其他用戶。有關交易數量,數據等的限額。您按照您使用的內存高速緩存的大小支付此服務。它可以是痛苦的快速改變層(或至少還有周圍,你很快就能換出一層尺寸規則),你失去了很多的靈活性,較新的選項。此外,上限是4 GB的內存報價的一點點成本。

看着你提供我沒有看到主機選項,你所指出的配置,所以這一定是從非共享版本配置。只有共享緩存版本使用主機元素。非共享版本使用CS Def和CS Config文件中提供的配置來確定羣集的位置(並且它必須位於同一個Cloud Service中),從而在幕後發揮了一些魔力。 http://msdn.microsoft.com/en-us/library/windowsazure/hh914132.aspx如果這確實是不共享的版本,則分佈跨越託管緩存中的作用的實例的數量來完成:更詳細的配置文檔可以在這裏找到。如果你只有一個實例,那麼它不是很分散。如果將角色計數增加到2,則數據將在兩者之間分配。如果您選擇在您的配置中打開「高可用性」,那麼您的數據複製將保留在羣集和故障域中,以便如果羣集中的某個實例消失,您仍然擁有緩存中的數據副本。 (http://msdn.microsoft.com/en-us/library/windowsazure/hh914162.aspx)。

最後,如果您看到一些對本地緩存的引用,這些引用可能涉及您可以在哪裏設置本地存儲以進行「本地緩存」。所以,雖然數據仍然存儲在分佈式緩存中,但它也可以將實例的本地副本提取出來。這對元數據和狀態列表等查找非常有用,而這些變化幾乎沒有變化。這允許本地節點從本地高速緩存讀取數據,但是然後返回到較大的分佈式高速緩存來獲取它沒有的或本地到期的數據。雖然我沒有看到上面的配置引用本地存儲資源的位置,但不確定是否跨越了術語,或者看到了您在此處提供的內容之外的參考。