云計算分布式緩存技術及及及其在物聯(lián)網(wǎng)中的應用_第1頁
云計算分布式緩存技術及及及其在物聯(lián)網(wǎng)中的應用_第2頁
云計算分布式緩存技術及及及其在物聯(lián)網(wǎng)中的應用_第3頁
云計算分布式緩存技術及及及其在物聯(lián)網(wǎng)中的應用_第4頁
云計算分布式緩存技術及及及其在物聯(lián)網(wǎng)中的應用_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

云計算分布式緩存技術及其在物聯(lián)網(wǎng)中的應用

多網(wǎng)融合、低碳節(jié)能、物物互聯(lián)及移動互聯(lián)網(wǎng),這些當今社會的熱點需求,催生了云計算技術的發(fā)展;隨著PC性能提升、成本下降以及網(wǎng)絡技術的發(fā)展,構(gòu)建分布式的業(yè)務計算環(huán)境比集中的大型機的業(yè)務環(huán)境更具有成本和技術優(yōu)勢,為云計算的發(fā)展提供了強大的技術驅(qū)動力;Google,Amazon,Salesforce等IT巨頭更是推出了基于云計算的服務,并取得了巨大的成功,讓人們看到了云計算所帶來的巨大優(yōu)勢和影響力;這也讓世界各國政府對云計算的發(fā)展的非常重視,中國政府在“十二五”信息規(guī)劃的技術背景中特別對云計算技術做了闡述,明確提出云計算技術是中國下一個五年信息化產(chǎn)業(yè)發(fā)展的重點領域之一,為云計算的發(fā)展提供了政策驅(qū)動力[1-2]。

正是在這樣的需求、技術、應用和政策的背景下,云計算成為IT業(yè)界共同認可的主流聲音。云計算其實就是把所有的計算應用和信息資源都用網(wǎng)絡連接起來,供個人和應用隨時訪問、管理和使用。云計算服務提供資源,包括計算、存儲及網(wǎng)絡資源,需要能夠?qū)崿F(xiàn)海量的存儲、出色的安全性和可靠性;云計算提供的服務應該是動態(tài)的、可擴展的,能夠根據(jù)用戶和應用的規(guī)模進行動態(tài)伸縮,并且這種伸縮所需要的時間是短暫、迅速的;云計算平臺應該能夠提供開發(fā)應用程序編程接口(API)、環(huán)境和工具,供各種應用進行使用。只有這樣云計算平臺才能夠和應用很好地結(jié)合起來,使得傳統(tǒng)的集中式應用方便地遷移成高性能、高可靠且易擴展的分布式的云計算應用,為用戶提供類型多樣的云服務。

云計算是物聯(lián)網(wǎng)發(fā)展的基礎?;ヂ?lián)網(wǎng)主要解決人與人的互聯(lián),連接了虛擬與真實的空間;而物聯(lián)網(wǎng)主要解決的是物與物之間的互聯(lián),連接了現(xiàn)實與物理世界。物聯(lián)網(wǎng)是以互聯(lián)網(wǎng)的發(fā)展為前提的。隨著物聯(lián)網(wǎng)應用的發(fā)展、終端數(shù)量的增長,會產(chǎn)生非常龐大的數(shù)據(jù)流,這時就需要一個非常強大的信息處理中心。傳統(tǒng)的信息處理中心是難以滿足這種計算需求的,在應用層就需要引入云計算中心處理海量信息,進行輔助決策。云計算作為一種虛擬化、分布式和并行計算的解決方案,可以為物聯(lián)網(wǎng)提供高效的計算能力、海量的存儲能力,為泛在鏈接的物聯(lián)網(wǎng)提供網(wǎng)絡引擎和支撐。

1分布式緩存的發(fā)展

在互聯(lián)網(wǎng)應用剛起步時,各種平臺大多采用的是關系型數(shù)據(jù)庫。那時PC機昂貴、性能低下并且網(wǎng)絡不普及,而關系型數(shù)據(jù)庫因為處理能力強、數(shù)據(jù)安全可靠、一致性好等優(yōu)勢,一直處于主導地位,并發(fā)揮了重要的作用。隨著互聯(lián)網(wǎng)的發(fā)展,特別是WEB等交互式、個性化應用的出現(xiàn),數(shù)據(jù)量急劇增加,傳統(tǒng)的關系型數(shù)據(jù)庫已經(jīng)無法滿足這種快速增長的存儲需求。為此不少IT服務提供商都設計開發(fā)了自己的存儲系統(tǒng),如亞馬遜在2007年10月份開發(fā)出的Dynamo就是其中非常典型的一種存儲系統(tǒng)(如圖1所示),作為狀態(tài)管理組件和存儲服務的基礎被用于眾多的亞馬遜的系統(tǒng)中[3-4]。

對于Google,Amazon,淘寶這樣的互聯(lián)網(wǎng)企業(yè),每時每刻都有無數(shù)的用戶在使用它們提供的互聯(lián)網(wǎng)服務,這些服務帶來的是大量的數(shù)據(jù)吞吐量,在同一時間,并發(fā)的會有成千上萬的連接對數(shù)據(jù)庫進行操作。在這種情況下,單臺服務器或者幾臺服務器遠遠不能滿足這些數(shù)據(jù)的處理需求,單靠提升服務器性也已經(jīng)改變不了該情況,所以唯一可以采用的辦法就是擴展服務器的規(guī)模。服務器規(guī)模擴展通常有兩種方法:一種是仍然采用關系型數(shù)據(jù)庫,然后通過對數(shù)據(jù)庫的垂直和水平切割將整個數(shù)據(jù)庫部署到一個集群上,這種方法的優(yōu)點在于可以采用基于關系型數(shù)據(jù)庫(RDBMS)的技術,但缺點在于它是針對特定應用,實施非常困難;另外一種方法就是Google和Amazon所采用的方法,拋棄關系型數(shù)據(jù)庫,采用Key-Value形式的存儲,這樣可以極大地增強系統(tǒng)的可擴展性。事實上,基于Key-Value的分布式緩存就是由于Google的BigTable,Amazon的Dynamo以及Facebook的Cassandra等相關論文的發(fā)表而慢慢進入人們的視野,這些互聯(lián)網(wǎng)巨頭在分布式緩存上的成功實踐也使之成為了云計算的核心技術[5]。

2分布式緩存技術

分布式緩存的部署方式

緩存服務器集群采用無主架構(gòu),所有服務器節(jié)點地位完全一致,互相之間采用網(wǎng)狀的全連接方式。應用通過調(diào)用分布式緩存提供的API對數(shù)據(jù)進行透明訪問,無需關心數(shù)據(jù)在后端服務節(jié)點的分布情況。數(shù)據(jù)在集群各節(jié)點均勻分布,集群數(shù)據(jù)處理能力隨集群中節(jié)點數(shù)量的擴充呈線性增長。集群通過數(shù)據(jù)的多副本機制能夠提高系統(tǒng)的可用性,某幾臺服務節(jié)點的宕機對應用的數(shù)據(jù)訪問沒有任何影響。服務器節(jié)點能夠根據(jù)應用的需求靈活配置數(shù)據(jù)是否持久化存儲。

分布式緩存同時提供操作控制臺,能夠登錄到任何一個服務節(jié)點并對集群的成員關系、訪問負荷、數(shù)據(jù)分布進行監(jiān)控和配置,同時通過操作維護臺可以完成分布式緩存集群軟件版本的安裝、升級和配置。目前分布式緩存提供基于命令行(telnet登錄)和基于B/S的圖形化運維方式。分布式緩存系統(tǒng)的具體部署如圖2所示。

分布式緩存功能架構(gòu)

分布式緩存為應用程序提供了客戶端程序庫以及若干數(shù)據(jù)服務節(jié)點組成的服務集群,客戶端通過和數(shù)據(jù)服務節(jié)點通信形成可用服務器列表,并將應用程序提交的存取請求通過路由算法映射到一個確定的數(shù)據(jù)服務節(jié)點上,具體的功能架構(gòu)如圖3中所示。

數(shù)據(jù)服務節(jié)點主要分成3個層次:通信支撐層、數(shù)據(jù)處理層和數(shù)據(jù)存取層。

通信支撐層主要負責通信協(xié)議適配,根據(jù)數(shù)據(jù)處理層中路由鏈路管理模塊的指示進行端口的偵聽和主動建鏈,同時完成底層通信數(shù)據(jù)包的發(fā)送和接收。數(shù)據(jù)處理層包括路由鏈路管理模塊、訪問控制處理模塊以及數(shù)據(jù)遷移控制模塊。數(shù)據(jù)存儲層提供內(nèi)存/SSD/硬盤介質(zhì)的三級存儲管理,具體可以根據(jù)應用的要求進行不同的配置。內(nèi)存管理關注內(nèi)存分配的效率以及如何避免內(nèi)存碎片的形成,并根據(jù)數(shù)據(jù)訪問頻度進行最近最少使用算法(LRU)控制。SSD和硬盤存儲模式在保證訪問性能的同時提供數(shù)據(jù)的持久化存儲,在這兩種存儲模式下數(shù)據(jù)不會隨著服務節(jié)點重新啟動而丟失。數(shù)據(jù)存儲層提供數(shù)據(jù)生存期管理機制,能夠自動清理過期數(shù)據(jù)。

分布式緩存關鍵技術

分布式緩存在保證數(shù)據(jù)訪問可靠性、最終一致性的同時對應用提供高吞吐、低時延的訪問服務,通過增加數(shù)據(jù)服務節(jié)點即能實現(xiàn)處理能力的性能擴充,擴容過程對應用訪問完全透明。下面對分布式緩存涉及的關鍵技術進行介紹。

2.3.1NRW多副本機制

分布式緩存通過多副本機制實現(xiàn)數(shù)據(jù)訪問的可靠性,同時多個副本之間的數(shù)據(jù)同步又會帶來性能和一致性的問題。我們采用NRW多副本技術來保證數(shù)據(jù)在可靠性、高性能訪問以及最終一致性之間取得平衡。

圖4是NRW機制的示意圖,其中N是一個數(shù)據(jù)的副本數(shù),R代表一次成功的讀取操作中最小參與節(jié)點數(shù)量,W代表一次成功的寫操作中最小參與節(jié)點數(shù)量。當分布式緩存的訪問模型滿足R+W>N時就能保證數(shù)據(jù)訪問的可靠性和一致性。

R和W直接影響性能、可用性和一致性。如果W設置為1,則分布式緩存集群中只要有一個節(jié)點可用,就不會影響寫操作;如果R設置為1,則分布式緩存集群中只要有一個節(jié)點可用,就不會影響讀請求。但顯而易見R和W值過小都會對影響數(shù)據(jù)訪問的性能和可用性,為兼顧性能、可用性和一致性,這兩個值一定要合理設置。

2.3.2一致性Hash和虛節(jié)點

一致性Hash需要首先求出分布式緩存數(shù)據(jù)服務器(節(jié)點)的哈希值,并將其配置到0~232的圓上,用同樣的方法求出存儲數(shù)據(jù)的鍵的哈希值,并映射到圓上。然后從數(shù)據(jù)映射到的位置開始順時針查找,將數(shù)據(jù)保存到找到的第一個服務器上。如果超過232仍然找不到服務器,就會保存到第一臺緩存數(shù)據(jù)服務器上。

因為數(shù)據(jù)節(jié)點服務器的機型并不統(tǒng)一,其性能和容量是不同的,可以使一個物理節(jié)點負責多個Hash區(qū)間的處理,使高端機器能夠被充分利用。在出現(xiàn)熱區(qū)時,可以將過熱的Hash區(qū)間以虛擬節(jié)點的方式放在負荷較低的物理節(jié)點上。

分布式緩存平臺結(jié)合了一致性Hash和虛擬節(jié)點的特點并加以改進,形成了如圖5的方案:將232的Hash空間等分為若干分片,每個分片即是一個虛節(jié)點,根據(jù)各物理節(jié)點性能差異配置處理不同數(shù)量的虛節(jié)點,這些虛節(jié)點在物理節(jié)點上的部署關系即形成虛節(jié)點的路由。

通過一致性Hash和虛節(jié)點相結(jié)合的方式,實現(xiàn)了數(shù)據(jù)在集群的均勻分布,同時也實現(xiàn)了數(shù)據(jù)服務器節(jié)點熱點的消除。

2.3.3智能路由交換

路由是指分布式緩存集群中虛節(jié)點在數(shù)據(jù)服務節(jié)點上的分布情況。分布式緩存平臺構(gòu)建了一個分布式鎖同步系統(tǒng)來存放全局路由表,這張路由表是分布緩存集群路由管理的基準表,路由變更時必須要首先修改這張路由表中對應的路由記錄。

為避免每次路由查找都需要查詢分布式鎖服務,各數(shù)據(jù)服務節(jié)點在本地同時存儲全局路由表,路由查找時可直接在本地進行。這樣帶來的一個問題是本地路由記錄可能已經(jīng)過期,因此在路由記錄中增加修改時間戳來進行路由記錄版本的控制,舉例說明:

(1)第10號虛節(jié)點的路由信息是:存在3個副本,依次存放在服務節(jié)點A、B、C上,該條路由信息在集群中所有節(jié)點本地都有存儲。

(2)A節(jié)點發(fā)生故障宕機,在A宕機期間,操作員對10號虛節(jié)點的路由記錄進行了手工調(diào)整:仍然是3個副本,依次存放在服務器節(jié)點A、D、C上,集群中除A節(jié)點外都完成了本地路由記錄的更新。

(3)此后A恢復了服務,A節(jié)點本地10號虛節(jié)點的路由記錄成為一個過期的記錄,當A節(jié)點收到落在10號虛節(jié)點上的數(shù)據(jù)讀寫請求時,就會對B、C節(jié)點的副本進行訪問,訪問時會帶上本地10號路由記錄的時間戳,B、C節(jié)點收到訪問請求后會立即通知A路由信息已經(jīng)過期,通過這樣的路由交換機制,A快速地完成了本地路由記錄更新。

上述例子中路由交換是通過數(shù)據(jù)訪問請求被動觸發(fā),同時集群中每個節(jié)點的路由管理模塊也會定時啟動路由交換,通過這種類似病毒傳染式的智能路由交換,路由變更能在集群所有節(jié)點中快速生效。客戶端API的路由記錄也采用同樣的方式:客戶端API本地緩存路由信息表,在數(shù)據(jù)訪問的同時完成和服務節(jié)點的路由交換,大大提高了路由查找的效率,降低了數(shù)據(jù)訪問的時延。

2.3.4成員關系維護和故障檢測

分布式緩存將節(jié)點分成兩類:種子節(jié)點和普通節(jié)點。

種子節(jié)點是系統(tǒng)配置時,需要預先從所有節(jié)點中選出若干個節(jié)點,它們的職責是指揮系統(tǒng)的鏈路建立和拆除等。

普通節(jié)點啟動后,根據(jù)配置向種子節(jié)點主動建鏈,種子節(jié)點對連接上的普通節(jié)點進行統(tǒng)一管理,根據(jù)一定的原則比如按照IP數(shù)值的大小,通知普通節(jié)點完成互相之間的建鏈,種子節(jié)點互相之間也根據(jù)這個原則完成兩兩之間的連接。圖6描述集群成員關系建立的過程。

(1)分布式緩存當前有節(jié)點1、2、3、5共4個節(jié)點,相互之間兩兩存在鏈路,節(jié)點1、2是種子節(jié)點,節(jié)點0、3、5是普通節(jié)點。

(2)普通節(jié)點4新加入緩存集群,它首先根據(jù)配置主動連接種子節(jié)點1和節(jié)點2。

(3)種子節(jié)點1發(fā)現(xiàn)當前有普通節(jié)點0、3、5和它建立了鏈路,當普通節(jié)點4連接成功后,它根據(jù)節(jié)點大小原則指揮節(jié)點4連接普通節(jié)點0和3,同時指揮原有普通節(jié)點5連接節(jié)點4。

分布式緩存通過上述機制維護集群中節(jié)點的成員關系,最終在各節(jié)點間形成網(wǎng)狀的全連接模型,兩兩之間具備通信鏈路,任何節(jié)點故障和恢復都能夠快速被集群中其他節(jié)點檢測到。

3分布式緩存助力物聯(lián)網(wǎng)平臺云化

分布式緩存的優(yōu)勢和解決的問題

分布式緩存具有明顯的技術優(yōu)勢。分布式的架構(gòu)從架構(gòu)上保證了良好的擴展性,當性能不夠時,可以輕松地通過添加新節(jié)點的方法擴展性能;因為良好的擴展性,所以分布式緩存的容量可以隨著節(jié)點規(guī)模的增大而呈線性增加,容量不會成為系統(tǒng)的瓶頸;分布式緩存采用的是基于Key-Value的簡單存儲方式,緩存的架構(gòu)和以內(nèi)存為基礎的訪問方式使得分布式緩存性能非常高,單節(jié)點每秒可以達到24萬多次的讀寫操作;分布式緩存所使用的多份副本復制的方法,避免單點故障;同時無中心化的架構(gòu)和一致性Hash的數(shù)據(jù)分布算法,使得局部節(jié)點的損壞不會影響整體集群的可用性,把故障的影響降到最低。

目前的應用在部署運行過程中常會遇到一些問題:第一,單節(jié)點不能滿足性能要求時,需要擴展到多個節(jié)點,通常采用按號段的方式進行擴展,此種擴展方式不具有通用性,與各個應用密切相關,開發(fā)和維護的成本也較高;第二,在不同的物理節(jié)點的應用上共享數(shù)據(jù),通常通過文件的方式或同步的方式進行共享,但是這在性能和一致性的處理上存在較大的風險和困難;第三,因為多個節(jié)點同時訪問數(shù)據(jù)庫,使得數(shù)據(jù)庫和磁盤I/O成為系統(tǒng)的瓶頸,通常使用單節(jié)點的緩存方式來解決,這樣一方面會造成系統(tǒng)資源的浪費,另一方面也使各個節(jié)點中緩存一致性的處理也非常復雜;第四,應用節(jié)點的應用程序意外退出重啟動后,如何保證已有的會話不掉線,往往通過寫文件的方法實現(xiàn),這時磁盤I/O以及系統(tǒng)初次的加載都存在性能瓶頸。把分布式緩存引進應用后,可以方便地幫助應用解決這些問題。應用通過調(diào)用分布式緩存提供的API接口,把關鍵的數(shù)據(jù)放到分布式緩存中,而自身重點關注應用邏輯的處理,這樣可以輕松打造出高性能的、可擴展的、高可靠的分布式應用系統(tǒng),通過標準接口的封裝,對外提供云服務。

分布式緩存在物聯(lián)網(wǎng)中的應用

物聯(lián)網(wǎng)的出現(xiàn)是信息通信技術(ICT)的新挑戰(zhàn)。物聯(lián)網(wǎng)無所不在,它可以使所有的物體,從洗衣機到冰箱、從房屋到汽車通過物聯(lián)網(wǎng)進行信息交換。物聯(lián)網(wǎng)技術融入了射頻識別(RFID)技術、傳感器技術、納米技術、智能技術與嵌入技術。物聯(lián)網(wǎng)技術將是改變?nèi)藗兩詈凸ぷ鞣绞降闹匾夹g。物聯(lián)網(wǎng)主要包括3個層次,如圖7中所示。第1個層次是傳感器網(wǎng)絡,也就是目前所說的包括RFID、條形碼、傳感器等設備在內(nèi)的傳感網(wǎng),主要用于信息的識別和采集;第2個層次是信息傳輸網(wǎng)絡,主要用于遠距離無縫傳輸來自傳感網(wǎng)所采集的巨量數(shù)據(jù)信息;第3個層次是信息應用網(wǎng)絡,該網(wǎng)絡主要通過數(shù)據(jù)處理及解決方案來提供人們所需要的信息服務。

物聯(lián)網(wǎng)業(yè)務網(wǎng)關屬于第3個層次,如圖8所示。它是實現(xiàn)物聯(lián)網(wǎng)應用和物聯(lián)網(wǎng)終端智能連接的橋梁,能夠提供接入認證、智能路由、業(yè)務計費、能力接入、服務質(zhì)量(QoS)服務保障等核心功能。支持通用分組無線業(yè)務(GP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論