網站建設

結合設計經驗與營銷實踐,提供有(yǒu)價值的企業營銷資訊

首頁(yè) > 新(xīn)聞資訊 > 網站建設

大型網站分(fēn)布式緩存架構

2015/8/27 10:18:40 來源:深圳網站建設

  3. 分(fēn)布式緩存建築

  深圳網站建設分(fēn)布式緩存是指在多(duō)台服務(wù)器組成的集群中(zhōng)部署緩存,以集群方式提供緩存服務(wù)。體(tǐ)系結構有(yǒu)兩種類型:一種是需要更新(xīn)由JBoss Cache表示的同步分(fēn)布式緩存,另一種是由Memcached表示的不i相通信。

  JBoss Cache分(fēn)布式緩存在群集中(zhōng)的所有(yǒu)服務(wù)器中(zhōng)保存相同的緩存數據。當一台服務(wù)器有(yǒu)緩存數據更新(xīn)時,它會通知集群中(zhōng)的其他(tā)機器更新(xīn)緩存數據或清除緩存數據,如圖4.9JBoss Cache所示一般來說,應用(yòng)程序和緩存部署在同一台服務(wù)器上,應用(yòng)程序可(kě)以快速從本地獲取緩存數據。但是,問題是緩存數據的數量受到單個服務(wù)器的内存空間的限制。當集群很(hěn)大時,需要将緩存更新(xīn)信息的成本同步到集群中(zhōng)的所有(yǒu)計算機,這是非常昂貴的。因此,這種方案在企業應用(yòng)系統中(zhōng)比較常見,但在大型應用(yòng)系統中(zhōng)卻很(hěn)少網站。

  需要緩存的大型網站數據通常非常大,可(kě)能(néng)需要TB的内存進行緩存。此時,需要另一種類型分(fēn)布式緩存,如圖4.10所示Memcached采用(yòng)集中(zhōng)式緩存集群管理(lǐ),也稱為(wèi)分(fēn)布式架構非通信模式。緩存和應用(yòng)程序是分(fēn)開部署的。緩存系統部署在一組特殊的服務(wù)器上。應用(yòng)程序通過一緻性Hash等路由算法選擇緩存服務(wù)器遠(yuǎn)程訪問高速緩存數據,并且緩存服務(wù)器彼此不通信。緩存集群的規模易于實現擴展,具(jù)有(yǒu)良好的可(kě)擴展性。

  Memcached關于可(kě)伸縮性設計,請參閱本書第6章。

  4. Memcached

  Memcached曾經是網站分(fēn)布式緩存的代詞,大量用(yòng)于網站。它的簡單設計、卓越的性能(néng)、非通信服務(wù)器集群和海量數據可(kě)擴展體(tǐ)系結構吸引了架構師。

  簡單通信協議

  遠(yuǎn)程通信設計需要考慮兩個因素,一是通信協議,即選擇TCP協議或UDP協議或HTTp協議;一種是通信序列化協議。數據傳輸的兩端必須使用(yòng)可(kě)相互識别的數據序列化方法來完成通信,如XML、JSON等文(wén)本序列化協議,或者二進制序列化協議如googleprotobufferMemcached使用(yòng)TCP協議UDP也支持通信。序列化協議是一組基于文(wén)本的自定義協議。它非常簡單,首先是一個command關鍵字,然後是一組命令操作(zuò)數。例如,讀取數據的命令協議是get(此後,許多(duō)NoSQL産(chǎn)品已經使用(yòng)或直接支持該協議)。

  客戶程序豐富

  Memcached通信協議非常簡單。隻要支持協議的客戶端可(kě)以與Memcached服務(wù)器進行通信,那麽Memcached就開發出非常豐富的客戶端程序,幾乎支持所有(yǒu)主流網站編程語言Java、c/c++/c#Perl、Python、PHP、Ruby等。,因此,它更像是在混合使用(yòng)多(duō)種編程語言網站和Memcached中(zhōng)取水。

  高性能(néng)網絡通信

  Memcached服務(wù)器的通信模塊基于支持事件觸發的網絡通信程序庫libevem。

  無通信的服務(wù)器集群體(tǐ)系結構

  如上所述,正是這一特性使得Memcached在JBoss Cache、OSCache等衆多(duō)分(fēn)布式緩存産(chǎn)品中(zhōng)脫穎而出,滿足了網站對海量緩存數據的需求。其客戶端路由算法一緻性Hash已經成為(wèi)數據存儲可(kě)伸縮性架構設計的經典範例(參見本書第6章)。事實上,由于集群中(zhōng)的服務(wù)器之間沒有(yǒu)通信,集群可(kě)以實現幾乎無限的線(xiàn)性擴展,這是許多(duō)流行大數據技(jì )術的基本架構特征。

  近年來,NoSQL産(chǎn)品層出不窮,很(hěn)多(duō)産(chǎn)品在數據持久性、支持複雜數據結構、甚至性能(néng)上都優于Memcached,但Memcached以其簡單、穩定、專用(yòng)的特點,在分(fēn)布式緩存領域仍占有(yǒu)重要地位。

/jianzhanzhishi/1323.html 大型網站分(fēn)布式緩存架構

特别聲明:本網站發布的内容(圖片、視頻和文(wén)字)以用(yòng)戶投稿、用(yòng)戶轉載内容為(wèi)主,如果涉及侵權請盡快告知,我們将會在第一時間删除。文(wén)章觀點不代表本網站立場,如需處理(lǐ)請聯系客服。電(diàn)話:0755-85297058;郵箱:2295772445#qq.com (#替換成@)。

标簽:

QQ咨詢
微信咨詢
微信咨詢
電(diàn)話咨詢
周一至周五 9:00-18:00
135-1055-3738
回頂部