【Inside】做出Facebook規模,你所需要的技術元件總覽
【Inside】做出Facebook規模,你所需要的技術元件總覽
2012.06.27 | 技能

Facebook的強大後,有些有志之士在做創新服務網站有時會喊出,“打造下個Facebook社交網站…”之類的話。

Facebook上面撐了數億人,很快會到十億人。 這個網站到今天速度還是很快,背後到底用了哪些技術?

****

幾個禮拜前Facebook的技術經理Jason Sobel在 Qcon 中有精彩的介紹,要看影片 可到InfoQ去看

另外,在Quora上,則有飽讀詩書的 Michaël Figuière 做了 完整整理 ,讓大家很容易地一次就看到Facebook目前採用的技術架構與元件有哪些,筆者特地翻譯整理如後。

為了台灣網路產業技術提升,對於您現在手中的網路服務,不仿參考一下Facebook做些提升或優化改變:

前端程式採用PHP撰寫。寫完之後透過Facebook做的HipHop *
商業邏輯的元件都用Apache Thrift *
由於使用了Thrift 來提供服務,運行JAVA程式碼的伺服器都是用Facebook自行研發的軟體,而不採用tomcat或Jetty *
資料儲存的部份用了MySQL, Memcached,cassandra , 還有HBase。Memcached拿來做MySQL的暫存,也用作其他一般用途的暫存。近來,cassandra使用率有下降趨勢,而HBase *
*
紀錄檔,點擊數與feed等等是用Scribe *
為了加速瀏覽器上畫出網頁這件事,Facebook自製了BigPipe *
Varnish Cache *
Facebook數十億張的照片由Haystack *
Facebook訊息用了自己的動態叢集管理架構。商業邏輯跟儲存一併封裝成一個Cell,每個Cell處理一部份的使用者,因此使用者增加只需要增加Cell。儲存的部份用的是HBase *
Facebook訊息中的搜尋是透過在HBase *
聊天室是用Erlang開發的Epoll來完成,一樣透過Thrift *

那這樣的元件可以達成怎樣的效能哩?底下是相關公開資訊:


  • 所有Memcached的執行程序所有儲存的資料總量達300TB *

  • 每天有一千億次的點擊,光log也有130TB *

出自 Inside部落格

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
一次搞懂Vibe Coding
© 2025 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓