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