120214-749av,在线观看欧美日韩视频,专干老肥熟女视频网站300部,亚洲欧美日韩一区二区三区搜索,小说乱伦AV电影,又黄又湿免费高清视频

 
深圳網(wǎng)站建設設計

將想法與焦點和您一起共享

深圳網(wǎng)站建設設計 深圳網(wǎng)站優(yōu)化排名 深圳網(wǎng)站設計制作欣賞

大型網(wǎng)站分布式緩存架構

2018-01-14  閱讀: 深圳網(wǎng)站建設設計

3.分布式緩存架構

深圳網(wǎng)站建設分布式緩存指緩存部署在多個服務器組成的集群中,以集群方式提供緩存服務,其架構方式有兩種,一種是以JBoss Cache為代表的需要更新同步的分布式緩存,一種是以Memcached為代表的不i相通信的分布式緩存。

JBoss Cache的分布式緩存在集群中所有服務器中保存相同的緩存數(shù)據(jù),當某臺服務器有緩存數(shù)據(jù)更新的時候,會通知集群中其他機器更新緩存數(shù)據(jù)或清除緩存數(shù)據(jù),如圖4.9所示。JBoss Cache通常將應用程序和緩存部署在同一臺服務器上,應用程序可從本地快速獲取緩存數(shù)據(jù),但是這種方式帶來的問題是緩存數(shù)據(jù)的數(shù)量受限于單一服務器的內(nèi)存空間,而且當集群規(guī)模較大的時候,緩存更新信息需要同步到集群所有機器,其代價驚人。因而這種方案更多見于企業(yè)應用系統(tǒng)中,而很少在大型網(wǎng)站使用。

大型網(wǎng)站分布式緩存架構

大型網(wǎng)站需要緩存的數(shù)據(jù)量一般都很龐大,可能會需要數(shù)TB的內(nèi)存做緩存,這時候就需要另一種分布式緩存,如圖4.10所示。Memcached采用一種集中式的緩存集群管理,也被稱作互不通信的分布式架構方式。緩存與應用分離部署,緩存系統(tǒng)部署在一組專門的服務器上,應用程序通過一致性Hash等路由算法選擇緩存服務器遠程訪問緩存數(shù)據(jù),緩存服務器之間不通信,緩存集群的規(guī)??梢院苋菀椎貙崿F(xiàn)擴容,具有良好的可伸縮性。

Memcached的伸縮性設計參考本書第6章內(nèi)容。

4. Memcached

Memcached曾一度是網(wǎng)站分布式緩存的代名詞,被大量網(wǎng)站使用。其簡單的設計、優(yōu)異的性能、互不通信的服務器集群、海量數(shù)據(jù)可伸縮的架構令網(wǎng)站架構師們趨之若鶩。

大型網(wǎng)站分布式緩存架構

簡單的通信協(xié)議

遠程通信設計需要考慮兩方面的要素,一是通信協(xié)議,即選擇TCP協(xié)議還是UDP協(xié)議,抑或HTTP協(xié)議;一是通信序列化協(xié)議,數(shù)據(jù)傳輸?shù)膬啥?,必須使用彼此可識別的數(shù)據(jù)序列化方式才能使通信得以完成,如XML、JSON等文本序列化協(xié)議,或者GoogleProtobuffer等二進制序列化協(xié)議。Memcached使用TCP協(xié)議(UDP也支持)通信,其序列化協(xié)議則是一套基于文本的自定義協(xié)議,非常簡單,以一個命令關鍵字開頭,后面是
一組命令操作數(shù)。例如讀取一個數(shù)據(jù)的命令協(xié)議是get 。Memcached以后,許多NoSQL產(chǎn)品都借鑒了或直接支持這套協(xié)議。

豐富的客戶端程序

Memcached通信協(xié)議非常簡單,只要支持該協(xié)議的客戶端都可以和Memcached服務器通信,因此Memcached發(fā)展出非常豐富的客戶端程序,幾乎支持所有主流的網(wǎng)站編程語言,Java、C/C++/C#、Perl、Python、PHP、Ruby等,因此在混合使用多種編程語言的網(wǎng)站,Memcached更是如魚得水。

高性能的網(wǎng)絡通信

Memcached服務端通信模塊基于Libevem,一個支持事件觸發(fā)的網(wǎng)絡通信程序庫。

互不通信的服務器集群架構

如上所述,正是這個特性使得Memcached從JBoss Cache、OSCache等眾多分布式緩存產(chǎn)品中脫穎而出,滿足網(wǎng)站對海量緩存數(shù)據(jù)的需求。而其客戶端路由算法一致性Hash更成為數(shù)據(jù)存儲伸縮性架構設計的經(jīng)典范式(參考本書第6章)。事實上,正是集群內(nèi)服務器互不通信使得集群可以做到幾乎無限制的線性伸縮,這也正是目前流行的許多大數(shù)據(jù)技術的基本架構特點。

雖然近些年許多NoSQL產(chǎn)品層出不窮,在數(shù)據(jù)持久化、支持復雜數(shù)據(jù)結構、甚至性能方面有許多產(chǎn)品優(yōu)于Memcached,但Memcached由于其簡單、穩(wěn)定、專注的特點,仍然在分布式緩存領域占據(jù)著重要地位。

將文章分享到..
榕江县| 连江县| 北京市| 盐池县| 扬中市| 敖汉旗| 芦山县| 金堂县| 灌南县| 凤山市| 石河子市| 新宁县| 巍山| 溧水县| 哈巴河县| 正定县| 金寨县| 江油市| 柘城县| 马鞍山市| 和田市| 顺义区| 开江县| 富源县| 文安县| 珠海市| 泰宁县| 穆棱市| 绥滨县| 宽城| 中卫市| 梁河县| 柘荣县| 探索| 高尔夫| 叶城县| 湖州市| 扎囊县| 乐安县| 绥棱县| 兰州市|