成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

世界最大的PHP站點 Facebook后臺技術探秘

開發 前端
每月570000000000頁面瀏覽量,每個月超過30億的圖片上傳,5億的用戶數量,Facebook的后臺是用哪些技術保障網站的流暢運行呢?

在今年舉行的Facebook F8開發者大會上,51CTO帶您了解了其***的開放圖戰略和語義搜索。今天我們一起來了解Facebook背后的軟件,看看作為當今世界上訪問量***的網站之一,Facebook是如何保證5億用戶的系統一直穩定可靠的運行。

Facebook的擴展性挑戰

在我們討論細節之前,這里有一些Facebook已經做的軟件規模:

◆Facebook有570000000000每月頁面瀏覽量 (據Google Ad Planner)

◆Facebook的照片量比其他所有圖片網站加起來還多(包括Flickr等網站)

◆每個月超過30億張照片被上傳

◆Facebook的系統服務每秒處理120萬張照片,這不包括CDN服務中處理的照片

◆每月超過25億條的內容 (狀態更新,評論等)被共享

◆Facebook有超過30,000服務器(這個數字是去年的)

Facebook擴展所依賴的軟件

Facebook是在某些程度上說仍然是LAMP的站點,但它比普通的LAMP大得多,以納入其他元素和很多服務,并修改現行的做法。

例如:

◆Facebook仍使用PHP,但它已經為它建立一個編譯器,以便它可以分為本地代碼打開了Web服務器,從而提高性能。

◆Facebook使用Linux,但他特別為網絡吞吐量做了優化。

◆Facebook使用MySQL,但主要是作為一個Key-value的持久性存儲,Jions和服務器邏輯操作在Web服務器上操作。因為在那里更容易執行。

還有是自編寫的系統,如Haystack,一個高度可擴展的對象存儲,用來存儲Facebook的照片。還有Scribe,一個日志系統,可以運行在Facebook的巨大規模上的日志系統。

現在我們介紹一下全球***的社會網絡網站的所使用的軟件吧。

Memcached

memcached的是現在互聯網最有名的軟件之一了。 這是一個分布式內存緩存系統,用來作為Web服務器和MySQL服務器之間的緩存層(因為數據庫訪問比較慢)。 多年以來,Facebook已經提出了一些優化Memcached和一些周邊軟件的辦法。如壓縮network stack。

Facebook的每時每刻都有數10TB的數據緩存在Memcached的數千臺服務器上。 它可能是世界上***的Memcached的集群了。

HipHop for PHP

PHP作為一種腳本語言,和本地程序相比是運行緩慢的。 HipHop可以將PHP轉換成C + +代碼,然后再進行編譯,可以獲得更好的性能。 因為Facebook嚴重依賴PHP,這使得其可以讓Web服務器運行的更有效率。

一個工程師小團隊在Facebook(一開始只有三人)花了18個月時間開發HipHop,現在已經是可用狀態。

Haystack

Haystack是Facebook的高性能照片存儲/檢索系統(嚴格來說,是一個對象存儲,因此它并不一定要存儲照片)。 它有許多工作要做;有超過20億張上傳的照片,并且每一個被保存在四個不同的分辨率,因此有超過800億張照片。

它不僅是對能夠處理的上億的照片,運行表現也是至關重要的。 正如我們前面提到的,Facebook的服務約120萬張照片每秒 ,這個數字不包括CDN上的。 這是一個驚人的數字。關于Facebook的圖片存儲請參考51CTO之前的報道《Facebook圖片存儲架構技術全解析》。

BigPipe

BigPipe是Facebook開發的一個動態的網頁服務系統。 Facebook使用它來按section(稱為“pagelets”)處理每個網頁,以獲取***性能。

例如,在聊天窗口是分開的,新聞Feed也是分開的,等等。 這些pagelets可以在一個頁面表現的時候同時使用,這是該頁面表現的時候獲取進來的。即使某些工程的一部分關閉或中端,用戶也可以獲得一部分網頁。

Cassandra

Cassandra是一個不會單點失敗的分布式存儲系統。 這是為NoSQL運動的一個重要組成部分,并已公開的源代碼(它甚至成為一個Apache項目)。Facebook在搜索功能中使用它。

除了Facebook,還有一些人也用它,例如Digg的。 不過最近Twitter放棄了Cassandra。關于Cassandra的更多介紹可以參考51CTO的專題《奔向自由?Cassandra數據庫應用指南》。

Scribe

Scribe是一個靈活的日志系統,Facebook在他的內部大量使用。 它的能夠處理在Facebook的大規模日志記錄,并自動處理新的日志記錄類別,Facebook有數百個日志類別(categories)。#p#

Hadoop and Hive

Hadoop的是一個開源的map-reduce實現,使得它可以在進行大數據上進行運算。 Facebook的使用這個進行數據分析(而我們都知道,Facebook已經大量的數據)。 Hive就是發源于Facebook,使得對于Hadoop使用的SQL查詢成為可能,從而是其更容易對非程序員使用。

Hadoop和Hive是開源的(Apache項目),有為數眾多的追隨者,例如雅虎和Twitter。

Thrift

Facebook使用的幾種不同的語言和不同的services。 PHP是最終用于前端,Erlang是用于聊天,Java和C ++也使用于多種場所,也許還有其他語言。Thrift是一個內部開發的跨語言的框架,聯系語言,使他們可以在一起合作,從而使他們之間可以交互。 這使得Facebook可以更容易為繼續保持其跨語言的發展。

Facebook已經讓Thrift開源。更多的語言支持已被添加到Thrift。

Varnish

Varnish是一個HTTP加速器,可以作為一個負載平衡器,并緩存的內容,然后可以以閃電般的速度送達。

Facebook使用的arnish來處理照片和個人資料圖片,處理每天數十億的要求。 和其他的東西一樣,Varnish是開源的。

保持Facebook 順暢運行的其他東西

我們已經提到的軟件,組成了Facebook的系統,并幫助運行在大規模上。 但是,處理這么大的系統是一個復雜的任務,因此我們將列出一些其他的東西,他們保持了Facebook的平穩運行。

漸進發布和暗啟動

Facebook有一個他們所謂的守門人制度(Gatekeeper),允許他們可以給不同的用戶運行兩套不同的系統。 這讓Facebook漸進的發布新的功能,A / B測試,只為Facebook雇員發布等的某些特性。

Gatekeeper也可以讓Facebook實現“暗啟動”,這是在用戶使用一些功能之前,就激活某些功能(因為用戶沒有察覺,所以稱之為暗啟動)。 這將作為一個現實世界的壓力測試,在正式啟動前,幫助揭露一些功能障礙和其他問題。 暗啟動通常是在正式啟動前兩個星期。

Profiling的直播系統

Facebook的仔細監控其系統,有趣的是它也負責監察每一個PHP函數在生產環境的性能。 檢測各個PHP的環境的配置運行情況。使用開源工具,XHProf 。

漸進的利用關閉功能來提升性能

如果Facebook運行時出現性能問題,有一個辦法,就是逐步禁用不太重要的功能,以增強Facebook的大量核心功能表現。

我們沒有提及的事情

我們沒有提到硬件相關的事情,但這也是提高可伸縮性的重要一環。例如,就像其他大型站點,Facebook利用CDN來處理靜態內容。Facebook還有一個the huge data center,可以幫助他擴展更多的服務。

Facebook的開源情節

不僅是Facebook使用(和幫助),如Linux,Memcached的,MySQL和Hadoop的開源軟件,以及許多其他情況下,也貢獻許多了其內部開發的軟件。

Facebook亦開源了Tornado,一個高性能的網絡服務器框架,由FriendFeed團隊開發。關于開放源碼軟件清單,可以在Facebook’s Open Source page.找到。

 

【其他Facebook技術文章推薦】

  1. 來自Facebook等成功Web開發者的建議分享
  2. Facebook揭秘HipHop項目 PHP程序大提速
  3. 視頻專題:大型網站架構技術專家談
  4. 高并發高負載的大型網站系統架構
  5. 大型網站架構演變和知識體系

本文轉載自顏開的博客,原文:Facebook背后的軟件。

 

責任編輯:佚名 來源: 顏開的博客
相關推薦

2010-07-27 10:11:17

IT技術周刊

2010-09-08 08:55:00

后臺架構數據庫SNS網站

2014-04-16 13:34:19

Facebook數據中心

2010-08-16 16:21:04

服務器Twitter

2010-06-22 09:40:38

PHP方法重載

2023-09-13 08:33:17

2022-09-19 21:34:04

PHPFacebook語言

2010-02-05 16:28:07

Android

2014-11-03 10:14:22

2012-04-12 09:05:45

2009-11-23 19:50:12

PHP6.0

2023-11-24 11:24:16

Linux系統

2010-11-12 09:04:03

TwitterAPI

2024-01-23 10:13:57

C++虛函數

2013-10-10 09:55:28

Facebook數據中心傳統廠商

2012-11-14 09:20:00

大數據PrismHadoop

2009-06-10 09:21:45

Google Wave架構

2024-09-18 07:50:00

超算AI

2016-11-15 07:56:13

雙十一云計算科技新聞早報

2023-11-24 12:05:47

ucontextLinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九九视频在线 | 国产69精品久久久久777 | 国产99久久 | 日韩精品视频一区二区三区 | 九色网址| 久久97精品 | 国产中文| 成人在线观看免费视频 | 色综合99| 男人的天堂在线视频 | 四虎成人免费电影 | 久久九九网站 | 国产精品久久久久久久久免费软件 | 国产免费一区 | 婷婷国产一区二区三区 | av一区二区在线观看 | 国产精品a免费一区久久电影 | 二区视频| 成人免费精品 | 天天曰天天干 | 久久久久久中文字幕 | 国产精品九九视频 | 91精品一区二区三区久久久久 | 国产 欧美 日韩 一区 | 亚洲综合色站 | 黄色片大全在线观看 | 国产精品久久久久久久久久久久冷 | 粉嫩粉嫩芽的虎白女18在线视频 | 91精品国产色综合久久 | 免费国产视频 | 狠狠入ady亚洲精品经典电影 | 国产日韩欧美精品一区二区三区 | 成人在线一区二区三区 | xxxxx免费视频 | 免费国产成人av | 91深夜福利视频 | 久草网址 | 中文字幕在线观看一区 | 亚洲视频一区在线播放 | 国产成人久久av免费高清密臂 | 无码一区二区三区视频 |