<blockquote id="sfmoa"><xmp id="sfmoa">
<sup id="sfmoa"><pre id="sfmoa"></pre></sup>

    <noscript id="sfmoa"><tbody id="sfmoa"></tbody></noscript>

      蘭州網站建設公司-霈源網絡!
      網站建設、網站設計制作咨詢電話:135-1931-9495  
      觀察行業視覺 用我們專業的角度 講出你們的心聲
      NEWS CENTER ·
      新聞中心
      關注霈源網絡
      新聞中心當前位置:首頁 > 新聞中心 >建站知識
      蘭州專業網站建設公司

      Facebook技術總監:如何管理10億用戶的數據?

      發表日期:2013/3/25  文章編輯:網絡建設    瀏覽次數: 點擊:1199

      .1 數據中心間的一致性

      Facebook是一個實時的應用程序,這也就意味著,無論世界哪一個角落的數據發生改變,都需要立即顯示到所有其他的地方。因此這對一致性有著令人驚訝的高要求。

      常常有人說,“哦,Facebook只是一個讓人覺得挺有趣的社交網站,一致性并沒有那么重要。”但是如果信息出現的時間順序有問題,或者有的消息會憑空消失,那么這些情況就很容易惹惱用戶。以下是我們在2007年,創建首個地理分布數據中心時的老博客:《Scaling Out Facebook》

      現在回頭看,雖然這個方案聽起來有些嚴格,但是它真的很有用,而且幫助讓我們達到了現在這個巨大得規模。而現在的設置顯然已經變得更為復雜。

      2. 網絡流

      Facebook的頁面,需要很多小塊的數據,而這些往往并不容易聚集。所以我們經常看到的一個模式,是一臺服務器,會從大量其他的服務器處,要求大量小的對象。而這里的問題在于,如果所有的服務器都在同時進行回復,你就會通過請求服務器的rack switch和網絡適配器(NIC)突然獲得大量的數據包,然后就會有數據包被丟棄。這就是學術文獻中所謂的“TCP incast”,而我們解決這個的方法,是對機器上發送的請求進行截流。

      而當故障(failure)出現的時候,網絡問題往往會變得更加糟糕。大多數軟件在沒有從另一個服務器獲得回應時,都會重新發送另外一個數據包。不幸的是,大多數時候,沒有獲得回復的原因,恰恰是另外一個服務器已經過載。因此,當一個服務器過載嚴重,而無法作出及時回復時由于大量請求會重新發送,它的數據流量會瞬時增長一倍。

      我們投入了大量的時間用于算法研究,并希望無縫處理“重試”(retry)可以解決的小問題,但是也需要確保不會在出現大故障的時候失去控制,因為那時候重試只會讓事情變得更糟。

      3. 高速緩存配置

      這里有很多東西需要平衡——如果你有大的對象,你希望通過機器進行傳遞開,這樣你就可以進行并行處理;但是如果是小的對象,你則希望它們可以同時出現,這樣在RPC調用會給你帶來多個對象。而Facebook需要的往往是后者,因此我們在改善“每RPC對象數量”方面,使用了很多的技巧。

      很多情況都需要分離不同工作負載的對象,進行不同的調整。我們還花了大量的的時間,搞清楚是什么內存之中最具有成本效益的東西,以及何時非規范化能有用(實踐中的大多數時候,非規范化并沒有什么實質性的幫助)。

      4. 失敗處理

      正如前面網絡部分所提到的,有的時候一些方法能夠解決小問題,但往往會讓大問題變得更糟。例如,我有一個算法,給隨機服務器發送請求,如果它沒有得到答復,就會把請求重新發送到另一個不同的隨機服務器上,直到它得到一個答復才會停止。如果你只有一兩個機器出現問題的時候,這種方法顯然會表現很好。但是如果你一半的機器都出現問題,那么就成了一場災難。

      這時,所有其他的機器的負荷都會突然加倍,而如果一半的機器都出現問題,很有可能意味著有著負載已經過高。這時候,你需要做的事情,是檢測過載情況,并且減少負載。重要的是,要記住計算機科學意義上的實時系統,意味著:一個遲到的回應,就是一個錯誤的回應。

      放棄一個請求的時候,人們往往會感覺不好,不過這往往是最好的處理方式——在出現問題的時候,最大化正確答案的數量才是最正確的。

      另一種常見的模式是,當有些東西變慢的時候,就建立一個較大的隊列(queue),然后讓所有事情慢下來,減少負載。這可以是一個很棘手的算法,因為你可能在正常操作中也需要一個深隊列,來處理瞬間突發流量。

      5. 提升Memcache和MySQL

      我們討論到數據庫/緩存集群的時候,人們總會想到Memecache和MySQL。我們在Memcache方面做了大量的工作,以提升吞吐量——大量的分析和解決方法,這大多數都是在網絡棧中。因此很多這樣的工作,實際上是在Linux內核中發生的。

      在MySQL中,則是關于以一種合理的方式,獲得磁盤上的數據,并且把內存中最有用的東西放到緩存里。馬克·卡拉漢(Mark Callaghan)的博客中,有著大量的信息:《高可用性MySQL》( http://mysqlha.blogspot.com/)。

       

      相關新聞

      聲明:網站部分信息來源網絡若有侵權或違禁請告知我們刪除;網站建設制作,網站優化:版權所有:蘭州霈源網絡科技有限公司  業務咨詢:13519319495  在線Q Q:點擊發送消息給對方

      360網站安全檢測平臺   隴ICP備15000675號-2  甘公網安備 62010302001228號

      相關搜索:蘭州網站建設、甘肅建設網站、網站建設明細報價表、企業網站建設,網站設計公司網站建設哪家公司好、網站建設學習網、蘭州網站制作、蘭州網站建設公司、蘭州網站設計公司、蘭州建設網、蘭州網站制作培訓、蘭州專業網站制作、網站制作高端、網站制作、網站制作公司,網站制作收費標準,網站制作的基本步驟,網站制作公司,網站價格,網站制作多少錢,建個網站需要多少錢,如何制作自己的網站、網站建設流程、網站建設公司電話13519319495

      蘭州網站建設
      在線咨詢
      蘭州網站建設qq 在線咨詢
      在線咨詢
      蘭州網站建設qq 在線咨詢
      蘭州網站建設qq 在線咨詢
      蘭州網站建設
      精品无码久久久久久国产| 免费观看成人久久网免费观看| 一本色道久久88加勒比—综合| 97久久综合精品久久久综合| 久久久精品免费国产四虎| 久久精品18| 国内精品九九久久久精品| 久久福利片| 99国产精品久久久久久久成人热| 国产三级精品久久| 亚洲va国产va天堂va久久| 国产一区二区精品久久岳| 亚洲精品乱码久久久久久蜜桃图片| 国内精品久久久久久野外| 久久亚洲sm情趣捆绑调教| 日韩精品国产自在久久现线拍 | 中文精品久久久久人妻不卡| 国产亚洲精品自在久久| 亚洲欧洲精品成人久久曰影片| 国产亚洲欧美成人久久片| 久久午夜无码鲁丝片秋霞| 九九久久精品国产| 久久精品视频免费| 久久久久99精品成人片直播| 香蕉99久久国产综合精品宅男自| 久久婷婷国产麻豆91天堂| 久久精品天天中文字幕人妻| 亚洲中文字幕伊人久久无码 | 欧美一区二区久久精品| 久久久国产精品网站| 国产精品免费福利久久| 色综合久久久久无码专区| 久久99热这里只有精品国产| 久久久久无码精品| 久久久久国产精品麻豆AR影院| 精品久久一区二区三区| 狠狠狠色丁香婷婷综合久久俺| 久久精品人成免费| 久久精品国产亚洲AV电影 | 久久久无码精品亚洲日韩蜜臀浪潮| 久久99精品久久久久久齐齐|