四川省南充市川北醫學院 馮秀清
基于分布式緩存技術的總結
四川省南充市川北醫學院 馮秀清
分布式緩存能夠處理大量的動態數據,目前大量應用在社交網站等需要由用戶生成內容的場景,在構建了比較大規模的“web應用”的時候,進行緩存方面的技術也是非常必備的一項工作。本文將會從基本的理論方面的角度介紹分布式緩存,從宏觀上對分布式緩存技術有所了解。
緩存技術;總結數據
緩存這種能夠提升指令和數據讀取速度的特性,隨著本地計算機系統向分布式系統的擴展,在分布式計算領域中得到了廣泛的應用,稱為分布式進行緩存。進行分布式緩存具備以下的幾項重要特性:
高性能:當比較傳統的數據庫面臨著更大規模的數據訪問的時候,磁盤“I/O”一般會成為性能的瓶頸問題,以此導致了過高的響應方面的延遲問題。分布式的緩存將會高速內存作為數據對象的存儲之間的介質,數據要以“key/value”形式方面的存儲,更加理想的情況之下是可以獲得到“DRAM”級的讀寫的相關的性能;
動態擴展性:要支持更加彈性的擴展,通過于動態增加或者是減少節點來應對于不斷變化的數據之間的訪問的負載,提供更加可預測的性能以及于擴展性;與此同時,也最大限度地去提高資源方面的利用率;
易用性:要提供更加單一的數據以及于管理視圖;“API”接口更加簡單,而且要與拓撲結構沒有關系;動態擴展或者是失效恢復的時候不需要人工進行配置;自動的去選取備份的相關節點;多數的緩存系統方面提供了圖形化的管理方面的控制臺,以便于統一的進行維護;
高可用性:可用性包含著數據可用性以及于服務可用性兩個重要的方面。基于冗余機制去實現更高的可用性,無單點的失效性,支持故障的自動檢測發現,透明地實施故障方面的切換工作,不會因服務器的相關故障從而導致了緩存服務器中斷或者是重要數據的丟失。動態擴展的時候進行自動均衡數據的相關分區,與此同時,要保障緩存服務持續的可用性;
分布式代碼方面的相關執行:要將任務代碼器轉移到各類數據節點并且進行執行,客戶端聚合返回的重要結果,因而更加有效避免了緩存數據的相關移動以及于數據傳輸等。
因為有不同的系統的數據相關的訪問模式都不相同,同一類緩存策是更加難以在各類數據的訪問模式之下都可以取得到更加滿意的相關性能,研究人員不斷的提出不同的緩存策略是以適應不同的重要需求,緩存的策略可以大致分為以下的幾大類。
2.1 要基于訪問的相關模式的緩存重要策略
在某部分應用有著比較明確的的數據訪問的相關特點,從而會產生比較適合的緩存方面的策略。
2.2 要基于訪問的具體時間的緩存方面的策略
通過于緩存重要項目的被訪問的時間來進行組織緩存,要決定替換的相關對象。
2.3 兼顧的訪問具體時間與相關頻率
通過于兼顧訪問的時間以及于相關的頻率,使數據訪問的具體的模式發生變化的時候緩存策略仍然有著更好的相關性能。
2.4 基于訪問頻率的緩存的相關策略
通過于用緩存項的被訪問的頻率來進行相關的組織緩存內容。
3.1 頁面的相關緩存
頁面的緩存是用來緩存“Web頁面”的相關的內容的重要片段,包括于“CSS”、“HTML”以及于相關圖片等,大多數應用于某些社交型的網站等等;緩存的原理大體是在瀏覽器對資源的第一次請求之后,把資源中的一部分存儲在計算機的臨時文件空間,再次請求的時候,按照特定的策略加載緩存的資源,減少HTTP請求次數與傳輸數據量,以此提高瀏覽效率。
3.2 應用對象緩存
應用對象緩存分為三個級別:應用程序級、會話級和頁面級。應用程序級Application對象是ASP.NET內置的對象,表示ASP.NET應用程序的實例。當第一個用戶訪問一個ASP.NET文件時,會啟動并創建一個Application對象之后,可以在整個程序中使用直到應用程序關閉;由于cookie存在不安全,所以設計了會話級session對象。session對象用于存儲用戶的信息。此信息將在用戶會話期間保留。當用戶在一個應用程序中由一個頁面到另一個頁面時,存儲在session對象中的數據不會丟失而在用戶放棄會話或會話超時時被清除;頁面級cookie主要在客房端系統上保存客房端的個人信息。
3.3 并行進行處理的相關緩存
通常是涉及到更加大量的中間計算結果所需要的相關的共享性;
3.4 狀態的相關緩存
緩存是包括于“Session會話狀態”以及于應用的橫向擴展的時候狀態的相關數據等等,這類數據大多數是很難以進行恢復的,對于可用性的相關要求比較高,大多數是應用于高可用的相關集群;
3.5 極限事務的相關處理的緩存
分布式緩存是為事務型應用提供著更加高吞吐率、低延的時侯的解決的重要方案,支持高并且發事務請求的相關處理,多應用于鐵路方面的服務、金融方面的服務以及于電信方面的領域等。
3.6 事件性處理的相關緩存
分布式進行緩存不斷的提供了針對型事件流的連續型查詢處理的相關的技術,不斷的滿足實時性的相關需求;
分布式緩存現階段歷經了很多個發展的重要階段,是由最當初的本地的緩存發展到更加彈性的緩存平臺直接到彈性應用性平臺的發展,目標也是朝著構建更加良好的分布式系統的重要方向進行發展。
伴隨著現階段“云計算”以及于“Web”的相關的進一步的發展,很多企業或者是組織都常常會面對更加空前的相關需求:百萬級的并發用戶的相關訪問、每秒數以千計的并發事務的相關處理、靈活的彈性以及于可伸縮性、低延時以及于可用性等等。傳統的事務型應用面臨著極限規模的并發事務的相關處理,并且出現了極限事務處理(簡稱為:XTP)型的重要應用。極限事務的相關處理的不斷引入,也無疑的給更加傳統“Web”的三層架構也帶來了前所未有的嶄新的挑戰。怎么樣在更加廉價的、更加標準化的硬件以及于軟件的平臺之上,對于大容量、業務關鍵型的事務處理應用等所提供更加良好的相關支撐。分布式緩存是作為一種更加關鍵的“XTP”相關的技術,可以為事務型應用提供著高吞吐率、低延時的相關技術重要的解決方案。其延遲寫機制可以提供著更短的響應的工作時間,與此同時更大地降低數據庫的事務處理的負載性,分階段事件的驅動架構可以更加支持大規模、高并發的事務處理的相關請求。另外,分布式緩存在內存當中管理著事務并且提供著數據的一致性的重要保障,采用數據復制技術實現著更高的可用性,具有著更加優秀的擴展性以及于性能的相關組合。
[1]李文中陳道蓄陸桑璐.分布式緩存系統中一種優化緩存部署的圖算法[J].軟件學報,2010,(7).
[2]肖祎方鈺.基于JGroups的分布式緩存的設計與實現[J].計算機應用與軟件,2011,(2).
[3]安全對象分布式文件系統的設計與實現[D]. 廖舒恬.華中科技大學 2013
[4]云平臺下分布式文件系統評測技術研究[D]. 胡軍杰.哈爾濱工業大學 2014
[5]分布式文件系統客戶端的設計與實現[D]. 張軼彬.上海交通大學 2011
[6]面向代理服務的分布式文件系統設計與實現[D]. 張永勝.哈爾濱工業大學 2012
[7]面向云存儲的分布式文件系統關鍵技術研究[D]. 趙黎斌.西安電子科技大學 2011
[8]云存儲中基于動態多中心的分布式文件系統研究[D]. 趙賽.燕山大學 2014
[9]基于分布式文件系統的農業數據云存儲研究[D]. 李穎.山東農業大學 2013