世界頂尖PHP站Facebook后臺技術探秘
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
Hadoop and Hive Hadoop的是一個開源的map-reduce實現(xiàn),使得它可以在進行大數(shù)據(jù)上進行運算。 Facebook的使用這個進行數(shù)據(jù)分析(而我們都知道,F(xiàn)acebook已經大量的數(shù)據(jù))。 Hive就是發(fā)源于Facebook,使得對于Hadoop使用的SQL查詢成為可能,從而是其更容易對非程序員使用。 Hadoop和Hive是開源的(Apache項目),有為數(shù)眾多的追隨者,例如雅虎和Twitter。 Thrift Facebook使用的幾種不同的語言和不同的services。 PHP是最終用于前端,Erlang是用于聊天,Java和C ++也使用于多種場所,也許還有其他語言。Thrift是一個內部開發(fā)的跨語言的框架,聯(lián)系語言,使他們可以在一起合作,從而使他們之間可以交互。 這使得Facebook可以更容易為繼續(xù)保持其跨語言的發(fā)展。 Facebook已經讓Thrift開源。更多的語言支持已被添加到Thrift。 Varnish Varnish是一個HTTP加速器,可以作為一個負載平衡器,并緩存的內容,然后可以以閃電般的速度送達。 Facebook使用的arnish來處理照片和個人資料圖片,處理每天數(shù)十億的要求。 和其他的東西一樣,Varnish是開源的。 保持Facebook 順暢運行的其他東西 我們已經提到的軟件,組成了Facebook的系統(tǒng),并幫助運行在大規(guī)模上。 但是,處理這么大的系統(tǒng)是一個復雜的任務,因此我們將列出一些其他的東西,他們保持了Facebook的平穩(wěn)運行。 漸進發(fā)布和暗啟動 Facebook有一個他們所謂的守門人制度(Gatekeeper),允許他們可以給不同的用戶運行兩套不同的系統(tǒng)。 這讓Facebook漸進的發(fā)布新的功能,A / B測試,只為Facebook雇員發(fā)布等的某些特性。 Gatekeeper也可以讓Facebook實現(xiàn)“暗啟動”,這是在用戶使用一些功能之前,就激活某些功能(因為用戶沒有察覺,所以稱之為暗 啟動)。 這將作為一個現(xiàn)實世界的壓力測試,在正式啟動前,幫助揭露一些功能障礙和其他問題。 暗啟動通常是在正式啟動前兩個星期。 Profiling的直播系統(tǒng) Facebook的仔細監(jiān)控其系統(tǒng),有趣的是它也負責監(jiān)察每一個PHP函數(shù)在生產環(huán)境的性能。 檢測各個PHP的環(huán)境的配置運行情況。使用開源工具,XHProf 。 漸進的利用關閉功能來提升性能 如果Facebook運行時出現(xiàn)性能問題,有一個辦法,就是逐步禁用不太重要的功能,以增強Facebook的大量核心功能表現(xiàn)。 我們沒有提及的事情 我們沒有提到硬件相關的事情,但這也是提高可伸縮性的重要一環(huán)。例如,就像其他大型站點,F(xiàn)acebook利用CDN來處理靜態(tài)內容。 Facebook還有一個the huge data center,可以幫助他擴展更多的服務。 Facebook的開源情節(jié) 不僅是Facebook使用(和幫助),如Linux,Memcached的,MySQL和Hadoop的開源軟件,以及許多其他情況下, 也貢獻許多了其內部開發(fā)的軟件。 Facebook亦開源了Tornado,一個高性能的網絡服務器框 架,由FriendFeed團隊開發(fā)。關于開放源碼軟件清單,可以在Facebook’s Open Source page.找到。 該文章在 2012/6/3 0:43:52 編輯過 |
關鍵字查詢
相關文章
正在查詢... |