本文章由 azure cat 團隊的 rama ramani
撰寫。「雲服務基礎
中,我們討論了一種在資料庫層中實施橫向可伸縮性的技術,即分割槽。在本文章中,我們將討論快取的重要性、要考慮的因素,以及如何在 windows azure 中進行配置和實施。
分布式快取架構在橫向擴充套件的基礎上構建,其中若干臺計算機(物理機或虛擬機器)將作為具有分攤工作負荷的固有分割槽能力的群集環的一部分。快取為 查詢範例, 它們的值為序列化的物件,這些物件可能是乙個更為複雜的資料儲存操作的結果集,如跨資料庫中的多個表執行 join 操作。因此,使用快取, 就不用針對資料儲存多次執行操作,而是針對快取進行快速鍵查詢。
了解什麼內容適合被快取
首先,您需要分析工作負荷並確定合適的快取物件。資料快取時,快取和「資料來源」之間的「過期」容錯應在應用程式的可接受範圍內。總體而言,快取可用作參考(對於所有使用者均為唯讀資料),如使用者配置檔案、使用者會話(單個使用者進行讀寫),或在某些情況下用作資源資料(使用鎖定 api 讓所有使用者均可讀寫)。在某些情況下,特定的資料集可能並不適合進行快取 - 例如,如果某個特定的資料集正在迅速發生變化、應用程式無法容許過期,或者您需要執行事物。
容量規劃
下一步是估計應用程式的快取需求。這需要檢視一系列指標(剛好大於快取大小),以制定最初的大小指南。
可從 獲取更詳細的容量規劃電子**
azure 快取拓撲
下表列出了 azure 上提供的 paas 選項集,並提供了簡要說明
型別說明
in-role dedicated
在專用拓撲中,可以定義快取專用的 worker role。這意味著 worker role 的所有可用記憶體都可用於快取和執行開銷。
in-role co-located
在co-located拓撲中,您可以使用應用程式角色上一定百分比的可用記憶體進行快取。例如,您可以在每個 web 角色例項上分配 20% 的物理記憶體進行快取。
windows azure 快取服務
windows azure 快取服務當前(2013 年 9 月)處於預覽狀態。下面是一些有用的鏈結
windows azure 共享快取
多租戶快取(帶有限制和配額)最晚將於 2014 年 9 月停用。可從
獲取更多詳細資訊。建議客戶使用上面的乙個選項來利用快取。
實施詳細資訊
該 csfundamentals 應用程式
利用in-role dedicated的 azure 快取來簡化讀取經常訪問的資訊 - 如使用者配置檔案資訊、使用者注釋。in-role dedicated部署為首選,因為它分離了快取相關的工作負荷。然後可以通過效能計數器(cpu 使用率、網路頻寬、記憶體等)和相應伸縮的快取角色例項進行監控。
注意:實施 csfundamentals 期間,新的 windows azure 快取服務不可用。除 csfundamentals 應用程式之外,如果需要使用快取資料,這將是首選。
icachefactory 介面定義了 getcache 方法簽名。icacheclient 介面定義了 get和 put方法簽名。
public inte***ce icacheclient
azurecacheclient 實現了此介面,並引用通過 windows azure caching nuget 程式包進行新增的 windows azure 快取客戶端程式集。
建立datacachefactory 物件會建立與快取角色例項的昂貴連線,因此將其定義為靜態連線並使用 lazy
緩慢進行例項化。
實施 get和 put方法使用了 binaryserializer 類,binaryserializer 類又利用 protobuf 類進行序列化和反序列化。protobuf-net 是protocol buffers
的 .net 實施,讓您可以高效、輕鬆地對 .net 物件進行序列化。通過 protobuf-net nuget 包進行新增。
序列化為傳入的引數 t 生成 byte 陣列,然後將其儲存在 windows azure 快取群集中。為了返回特定金鑰請求的物件,get 方法使用反序列化方法。
本部落格概述了快取基礎知識。有關詳細資訊,請參閱 cloudservicefundamentals visual studio 解決方案
中的 icacheclient.cs、azurecachefactory.cs、azurecacheclient.cs 和 binaryserializer.cs。
OpenStack 雲計算基礎知識
openstack docs current openstack雲計算快速入門教程 openstack及其構成簡介 伺服器應用 linux公社 linux系統門戶 企業部署openstack 該做與不該做的事 linux新聞 linux公社 linux系統門戶 告訴你乙個真實的 openstack ...
雲計算基礎知識(一)
1 超大規模 大多數雲計算中心都具有相當的規模,比如,google雲計算中心已經擁有幾百萬臺伺服器,而amazon ibm 微軟 yahoo等企業所掌控的雲計算規模也毫不遜色,並且雲計算中心能通過整合和管理這些數目龐大的計算機集群來賦予使用者前所未有的計算和儲存能力。2 抽象化 雲計算支援使用者在任...
阿里雲 Linux基礎知識
1 其實一開始啥也不知道,現在覺得就是沒有理解相關的運轉模式,前後端分離的怎麼執行,他倆怎麼部署。其實現在也沒有完全順明白,但是已經好多了。2.阿里雲就是乙個伺服器,一台有著公網ip的電腦,想幹啥還是你自己說了算,你買的時候也可以選windows嗎,對吧。但是這不都是直接選linux,也方便。3.對...