日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

揭秘全球最大網(wǎng)站Facebook背后的那些軟件

admin
2012年6月3日 1:5 本文熱度 3405
  2010年6月,Google公布全球Top 1000網(wǎng)站。Facebook獨占鰲頭。


揭秘全球最大網(wǎng)站:Facebook背后的那些軟件


   以Facebook現(xiàn)在的經營規(guī)模,諸多傳統(tǒng)服務器的技術均將崩潰或根本無法支撐。那么面對5億的活躍用戶,F(xiàn)acebook的工程師們又將如何讓網(wǎng)站平穩(wěn)運轉呢?伯樂在線 - 職場博客的這篇文章將展示Facebook的工程師完成這個艱巨任務所用到的一系列軟件。


   Facebook級別規(guī)模的挑戰(zhàn)

   在我們深入細節(jié)之前,先了解一組Facebook不得不面對數(shù)據(jù),你就可以想象這種規(guī)模。
 



  • Facebook每月的PV量:630,000,000,000 (6千3百億)
  • Facebook上的圖片數(shù)量超過其他圖片網(wǎng)站的總和(包括諸如Flickr這樣的圖片網(wǎng)站)
  • 每個月有超過30億的圖片上傳到Facebook
  • Facebook系統(tǒng)每秒可以處理120萬張圖片。這還不包括Facebook的CDN處理的圖片。
  • 每月處理超過250億的信息內容(包括用戶狀態(tài)更新,評論等)
  • Facebook的服務器數(shù)量超過3萬臺(此數(shù)據(jù)為2009年的數(shù)據(jù))



   Facebook所用的軟件

   從某些方面來說,F(xiàn)acebook還是屬于LAMP類型網(wǎng)站,但是,為了配合其他大量的組件和服務,F(xiàn)acebook對已有的方法,已經做了必要的改變、拓展和修改。

   比如:



  • Facebook依然使用PHP,但Facebook已重建新的編譯器,以滿足在其Web服務器上加載本地代碼,從而提升性能;
  • Facebook使用Linux系統(tǒng),但為了自身目的,也已做了必要的優(yōu)化。(尤其是在網(wǎng)絡吞吐量方面);
  • Facebook使用MySQL,但也對其做優(yōu)化。


   還有定制的系統(tǒng),比如, Haystack -- 高度可擴展的對象存儲,用來處理Facebook的龐大的圖片;Scribe -- Facebook的日志系統(tǒng)。

   下面展現(xiàn)給大家的是,全球最大的社交網(wǎng)站Facebook所使用到的軟件。

   Memcached Memcached

   Memcached是一款相當有名的軟件。它是分布式內存緩存系統(tǒng)。Facebook(還有大量的網(wǎng)站)用它作為Web服務器和MySQL服務器之間的緩存層。經過多年,F(xiàn)acebook已在Memcached和其相關軟件(比如,網(wǎng)絡棧)上做了大量優(yōu)化工作。

   Facebook運行著成千上萬的Memcached服務器,借以及時處理TB級的緩存數(shù)據(jù)。可以這樣說,F(xiàn)acebook擁有全球最大的Memcached設備。

   HipHop for PHP HipHop for PHP

   和運行在本地服務器上代碼相比,PHP的運行速度相對較慢。HipHop把PHP代碼轉換成C++代碼,提高編譯時的性能。因為Facebook很依賴PHP來處理信息,有了HipHop,F(xiàn)acebook在Web服務器方面更是如虎添翼。

   HipHop誕生過程:在Facebook,一小組工程師(最初是3位)用了18個月研發(fā)而成。

   Haystack Haystack

   Haystack是Facebook高性能的圖片存儲/檢索系統(tǒng)。(嚴格來說,Haystack是一對象存儲,所以它不一定要存儲圖片。)Haystack的工作量超大。Facebook上有超過2百億張圖片,每張圖片以四種不同分辨率保存,所以,F(xiàn)acebook有超過8百億張圖片。

   Haystack的作用不單是處理大量的圖片,它的性能才是亮點。我們在前面已提到,F(xiàn)acebook每秒大概處理120萬張圖片,這個數(shù)據(jù)并不包括其CDN處理的圖片數(shù)。這可是個驚人的數(shù)據(jù)!!!

   BigPipe bigpipe

   BigPipe是Facebook開發(fā)的動態(tài)網(wǎng)頁處理系統(tǒng)。為了達到最優(yōu),F(xiàn)acebook用它來處理每個網(wǎng)頁的分塊(也稱“Pagelets”)。

   比如,聊天窗口是獨立檢索的,新聞源也是獨立檢索的。這些Pagelets是可以并發(fā)檢索,性能也隨之提高。如此,即使網(wǎng)站的某部分停用或崩潰后,用戶依然可以使用。

   Cassandra Cassandra

   Cassandra是一個沒有單點故障的分布式存儲系統(tǒng)。它是前NoSQL運動的成員之一,現(xiàn)已開源(已加入Apache工程)。Facebook用它來做郵箱搜索。

   除了Facebook之外,Cassandra也適用于很多其他服務,比如Digg。

   Scribe Scribe

   Scribe是個靈活多變的日志系統(tǒng),F(xiàn)acebook把它用于多種內部用途。Scribe用途:處理Facebook級別日志,一旦有新的日志分類生成,Scribe將自動處理。(Facebook有上百個日志分類)。

   Hadoop and HiveHadoop

   Hadoop是款開源Map/Reduce框架,它可以輕松處理海量數(shù)據(jù)。Facebook用它來做數(shù)據(jù)分析。(前面就說到了,F(xiàn)acebook的數(shù)據(jù)量是超海量的。)Hive起源于Facebook,Hive可以使用SQL查詢,讓非程序員比較容易使用Hadoop。(注1: Hive是是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結構化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。 )

   Thrift

   Facebook在其不同的服務中,使用了不同的語言。比如: PHP用在前端,Erlang用于聊天系統(tǒng),Java和C++用于其它地方,等等。Thrift是內部開發(fā)的跨語言的框架,把不同的語言綁定在一起,使之可以相互“交流”。這就讓Facebook的跨語言開發(fā),變得比較輕松。

   Facebook已把Thrift開源,Thrift支持的語言種類將更多。

   Varnish Varnish

   Varnish是一個HTTP加速器,擔當負載均衡角色,同時也用于快速處理緩存內容。

   Facebook用Varnish處理圖片和用戶照片,每天都要處理十億級的請求。和Facebook其他的應用應用一樣,Varnish也是開源的。

   Facebook可以平穩(wěn)運行,還得利于其他方面

   雖然上面已經提到了一些構成Facebook系統(tǒng)的軟件,但是處理如此龐大的系統(tǒng),本身就是一項復雜的任務。所以,下面還將列出使Facebook能平穩(wěn)運行的一些東西。

   逐步發(fā)布&暗啟動

   Facebook有一個系統(tǒng),他們稱之為“門衛(wèi)”。該系統(tǒng)可以針對不同種類的用戶運行不同的代碼。(它簡單介紹了代碼庫中的不同條件。)該系統(tǒng)讓Facebook逐步發(fā)布新特性、A/B測試、激活僅針對Facebook員工的特性 等等。

   門衛(wèi)系統(tǒng)也讓Facebook做些“暗啟動”的事情。比如,在某一特性上線之前,可以激活該特性背后的元件。另外,它還可以做模擬壓力測試,發(fā)現(xiàn)瓶頸和潛在的問題。默默啟動一般都是在正式啟動之前的2周完成。

   實時系統(tǒng)的簡介

   Facebook會仔細監(jiān)控自身系統(tǒng),有趣的是,它還監(jiān)控每個PHP函數(shù)在實時生產環(huán)境下的性能。這一實時PHP環(huán)境監(jiān)控是通過一個叫XHProf的開源工具完成的。

   逐步禁用某些特性,借以提高性能

   如果Facebook遇到性能問題,F(xiàn)acebook有大量的途徑來逐步禁用不很重要的特性,以提高其核心特性性能。

   尚未提到的東西

   雖然這里無法過多深入硬件方面,但硬件絕對是Facebook能達到空前規(guī)模的重要因素。比如,和其他大型網(wǎng)站一樣,F(xiàn)acebook也用CDN來處理靜態(tài)內容。Facebook還在美國西部的俄勒岡州建有一超大的數(shù)據(jù)中心,可以隨時增加服務器。

   當然了,除了前面已經提到的,還有其他大量的軟件沒有說到。但是,希望能突出其中非常有特色的。

   Facebook和開源之間的“戀情”

   Facebook和開源之間聯(lián)系,此文不能不提,雖不能說Facebook是多么地鐘愛開源,但至少可以這樣說,F(xiàn)acebook是“愛”著開源的。

   Facebook不僅使用(也捐贈)開源軟件,比如,Linux、Memcached、MySQL、Hadoop等等,它還內部開發(fā)不少軟件,并且也將之開源。

   Facebook開發(fā)的開源工程,包括HipHop、Cassandra、Thrift和Scribe。另外,F(xiàn)acebook也把Tornado開源了。Tornado是一個高性能的Web服務器框架,由FriendFeed幕后團隊開發(fā)而成。(2009年8月,F(xiàn)acebook收購FriendFeed。)

   (Facebook所用到的開源軟件,可以在Facebook的開源頁面找到。)

   面臨更多的大規(guī)模挑戰(zhàn)

   Facebook以一種令人難以置信的速度成長。它的用戶群幾乎是成倍增加,活躍用戶數(shù)量現(xiàn)已接近5億。而且,誰都無法預測今年底,活躍用戶量會到多少。

   Facebook甚至成立了一個專門的“成長小組”,該小組不斷思考如何讓人們使用facebook并融入到facebook中。

   這一快速成長,意味著Facebook將遇到不同的性能瓶頸。Facebook會面臨來這如下方面的挑戰(zhàn):PV、搜索、上傳的圖片和狀態(tài)消息,用戶之間的交互和用戶和Facebook之間的交互帶來的挑戰(zhàn)。

   這也是Facebook面對的事實。Facebook的工程師們將繼續(xù)尋求新方法來擴展(這不只是增加服務器的問題了)。比如,隨著網(wǎng)站成長,其圖片存儲系統(tǒng)已經多次完全重寫。

   所以,我們將看到Facebook的工程師們奔向下一個“山頭”。我們相信他們不會辜負眾望。畢竟,他們正跨越山頭,那個我們大多數(shù)人僅能向往的山頭;他們正擴展網(wǎng)站,那個用戶來自全球各地的網(wǎng)站。當你實現(xiàn)那個里程碑時,你將彪炳史冊。


該文章在 2012/6/3 1:05:21 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲愉拍自拍欧美精品 | 国产精品激情偷乱一区二区∴ | 日韩欧美一区二区在线精品 | 最新一卡二卡 | 日日插人人插天天插 | 色香欲综合成人免费视频 | 国产桃色在线成免费视频 | 国产在线精品香蕉综合网一区 | 国产一区二区精品在线 | 久热爱精品视频在线 | 亚洲欧美一级 | 亚洲精品影院在 | 97国产 | 99在线精品日韩一区免费国产 | 亚洲欧美在线观看 | 亚洲第一网站a√在线观看 国产精品情侣 | 亚洲+变态+欧美+另类+精品 | 国产片网站 | 日韩欧美国产一区二区三 | 一本大道熟 | 日韩精品日韩 | 国产精品一区视频 | 一本久道综合在线 | 国产黄a三级三级三级看三级 | 国产资源免费观看 | 日韩免费在线观看性生活视频 | 好看的网络短 | 精品综合视频 | 中文国产欧美在线观看 | 国产伦精品一区二 | 性生大片免费观看网站 | 成人拍拍拍免费视频网站 | 中日韩高清无专码 | 精品国产免费一区二区三区 | 亚洲欧美国产18 | 三三影院 | 东北熟女bbwbbw喷水 | 尤物精品视频一区二区三区 | 星空视频影视 | 国产精品宾馆在线精品酒店 | 亚洲线精品一区二区三区四区 |