我也要談談大型網站架構之系列(3)——死了都要說的緩衝

來源:互聯網
上載者:User

標籤:style   color   c   strong   檔案   資料   

 

  說到緩衝,我想大家跟我一樣都很興奮,當我們遭遇網站效能瓶頸的時候,緩衝是一劑強心針,也是一粒緊急媽富隆,從而在最佳化網站

效能方面冠上了第一定律的帽子,我們前年在做淘應用的時候,就遭遇了效能瓶頸,短時間內採用緩衝緊急最佳化,給我們大最佳化之前爭取了

寶貴的時間。

 

一:緩衝的種類

     要說緩衝有多少種,太多了,比如瀏覽器緩衝,檔案快取,片段快取,資料庫緩衝等等,合理利用這些緩衝則能大幅度的提高系統效能,

利用不好反而會偷雞不成蝕把米,給伺服器造成巨大的壓力,所以這裡就存在一個緩衝的使用原則的問題。

 

二:合理的使用緩衝

1.  讀寫小於10:1的情況下,不適合用緩衝,我們用緩衝的目的就是想分攤下資料庫的壓力以及利用記憶體來提速效能,如果讀寫差不多,或者

     壓根就沒讀過,這樣的死資料就會造成記憶體資源的浪費。

2.  既然是緩衝,就註定了它的資源是有限的,寶貴的,也就註定了我們必須合理利用它的記憶體空間,也就被迫的讓我們清楚的認識到熱點資料,

   不易修改的應該放在緩衝,反之不宜放。

3.  大公司在緩衝方面做的好的地方就是在一個“控”字上,他們會為緩衝專門做一套“緩衝系統”,當系統預先載入的時候,同時也充當記憶體資料庫

     使用,將這些中繼資料載入到緩衝系統中,比如“縣市區”,“分類資訊”等等作為預熱資料。

 

三:分布式緩衝

   一般情況下,會有兩種形式,第一種就是主從複製的模式,第二種就是分區的模式。

1:主從複製模式

  這種模式曾今在項目中也用過,就是一份記憶體,多處備份,當其中某一個緩衝內容中的資料有變化時,會及時通知其他機器進行緩衝更新

或清除,這種模式的缺點在於比較容易受制於單台機器的記憶體限制,優點在於用心跳機制及時用另一台緩衝機器頂替,那個時候我們使用120G

的大記憶體,得益於項目業務規模的限制,否則當機器記憶體爆滿的時候就比較尷尬了,所以做大型網站還是謹慎使用吧,畢竟這個也是我們曾今做

了一些為了提升效能的嘗試。

 

2:分區的模式

    這種模式在大型網站中還是被大量使用的,它的特點就是可以把一大坨資料通過一定的演算法和配置分攤到叢集中的若干台機器上,如果叢集中

的某一台機器掛了,沒關係,只會影響到該台機器中的資料,對資料庫不會造成很大的影響。一個典型的應用就是memcache,memcache是一

個非常簡單,實用,高效的分布式緩衝架構,其實memcache最值得一提的就是“路由演算法的一致性hash”技術使得我們的memcache叢集可以

自由伸縮,不過現在已經有很多的nosql產品,比如redis,couchdb,mongodb等等,讓我們在這個世界上有了更多的選擇吧。

 

最近看到園子裡面有很多抱怨聲,沒關係,如果覺得自己屈才了,歡迎來攜程試一試,只有你達不到的能力,沒有給不起你的薪資。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.