天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

淺談Facebook的服務(wù)器架構(gòu)

  大體層次劃分

  Facebook的架構(gòu)可以從不同角度來(lái)?yè)Q分層次。

  一種是:

  一邊是php整的經(jīng)典的LAMP stack;另外一邊是非php整的各種service。

 

  Facebook的頁(yè)面從剛創(chuàng)立的時(shí)候扎克伯格寫的,到現(xiàn)在,都用php開(kāi)發(fā)。后端有用各種語(yǔ)言開(kāi)發(fā)的service。它們之間用跨語(yǔ)言的thrift RPC通信(Scribe也是建立在Thrift之上)。

  另外一個(gè)角度劃分的層次是:

  前面是負(fù)載局衡器(沒(méi)說(shuō)是用硬件的還是軟件的);負(fù)責(zé)分配前端的Web服務(wù)器,Web服務(wù)器是用php來(lái)聚合數(shù)據(jù);最后面是 Services,Memcached和數(shù)據(jù)庫(kù)。

  有意思的是對(duì)后面三種的定性:

  Services – 快速,復(fù)雜; 自己開(kāi)發(fā)的業(yè)務(wù)進(jìn)程,來(lái)實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯,速度快。

  Memchached – 快速,簡(jiǎn)單;Memchached做簡(jiǎn)單的key-value緩存,服務(wù)應(yīng)用快速的讀請(qǐng)求。

  數(shù)據(jù)庫(kù)– 緩慢,持久。數(shù)據(jù)庫(kù)做持久存儲(chǔ),磁盤IO自然慢,不過(guò)有memcached做緩存沒(méi)關(guān)系。

  NewsFeed的架構(gòu)

  寫:

  Bob更新?tīng)顟B(tài),Web服務(wù)器上的php程序除了將內(nèi)容寫到MySQL數(shù)據(jù)庫(kù)之外,也將該行為動(dòng)態(tài)的ID通過(guò)Scribe發(fā)到一個(gè)Leaf Server上(根據(jù)Bob的用戶ID選的Leaf Server)。

  讀:

  另一個(gè)人Alice打開(kāi)Facebook,加載主頁(yè),php程序向Aggregator服務(wù)器查詢(Thrift調(diào)用),Aggregator從若干個(gè)Leaf Server里頭讀出Alice的朋友的所有行為動(dòng)態(tài)/action的前四十個(gè),aggregator做聚合和一定的排序,返回給php程序。

  php程序獲得這些行為動(dòng)態(tài)的ID之后,從Memcached中讀出這些ID對(duì)應(yīng)的內(nèi)容,如Memcached沒(méi)有,則從MySQL數(shù)據(jù)庫(kù)中讀,匯聚后生成HTML返回給瀏覽器。

  Chat的架構(gòu)

  頁(yè)面請(qǐng)求,仍由WEB服務(wù)器處理(php)處理,當(dāng)然也依賴web tier之后的各種Service。比如查看消息歷史啊,在線用戶列表啊,發(fā)送聊天消息啊。

  接收聊天消息,則沒(méi)通過(guò)php服務(wù)器,而是專用的用Erlang寫的Channel服務(wù)器來(lái)處理,通過(guò)long-polling來(lái)接收聊天消息。Channel服務(wù)器是Chat服務(wù)的核心部件。發(fā)送的消息通過(guò)web tier發(fā)到Channel服務(wù)器

  后方有用C++寫的chatlogger服務(wù)器來(lái)做歷史記錄的讀寫。

  同樣也用C++寫了presence服務(wù)器來(lái)從channel服務(wù)器匯集在線狀態(tài)。

  系統(tǒng)的簡(jiǎn)化結(jié)構(gòu)如下圖所示:

  Web tier, chatlogger, presence, channel 都是多個(gè)服務(wù)器組成的集群。

  Channel服務(wù)器有根據(jù)User ID做分區(qū),每個(gè)分區(qū)由一個(gè)高可用的Channel集群服務(wù)。

  Webtier, chatlogger, presence,在公開(kāi)的文章和PPT中并沒(méi)說(shuō)這些集群具體怎么做分布和冗余備份的。

  互聯(lián)網(wǎng)上的資料:

  http://www.infoq.com/presentations/Scale-at-Facebook

  Facebook前工程總監(jiān)Aditya Agarwal在QCon London2010 上的演講。

  http://www.infoq.com/presentations/Facebook-Software-Stack

  Aditya Agarwal在 QCon SanFrancisco 2008上的演講,和QCon London 2010 上的沒(méi)什么區(qū)別...

  http://www.infoq.com/presentations/Evolution-of-Code-Design-at-Facebook

  Facebook工程師Nick Schrock在QCon London2011上介紹它們是怎么寫代碼的。

  http://www.infoq.com/presentations/Infrastructure-at-Facebook

  Facebook的基礎(chǔ)平臺(tái)(Infrastructure)團(tuán)隊(duì)經(jīng)理Jason Sobel在QCon San Francisco 2010上的演講。

  http://www.youtube.com/watch?v=T-Xr_PJdNmQ&feature=player_embedded

  Velocity 2010: Tom Cook, "A Day in theLife of Facebook Operations"

  http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf

  http://www.facebook.com/note.php?note_id=14218138919

it知識(shí)庫(kù)淺談Facebook的服務(wù)器架構(gòu),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲AV无码乱码国产麻豆P | 好大好硬好湿再深一点网站 | 九九在线精品亚洲国产 | 啦啦啦影院视频在线看高清... | 国产成人精品午夜福麻豆报告 | 99热在线播放 | 精品无码一区二区三区中文字幕 | 男的插曲女的下面免费APP | 狠狠色色综合站 | 亚洲视频在线观看视频 | WWW国产无套内射久久 | 男人扒开添女人下部口述 | 天美传媒在线完整免费观看网站 | 亚洲成人欧美 | 父皇轻点插好疼H限 | 儿子日母亲B好爽 | 亚洲一在线 | 日本乱子人伦在线视频 | 欧美精品高清在线观看 | 中国xxx视频 | 久久成人免费大片 | 99C视频色欲在线 | 暖暖高清视频免费 | 中文字幕偷乱免费视频在线 | 男男女女爽爽爽视频免费 | 色多多深夜福利免费观看 | 97在线视频免费观看97 | 国产成人一区二区三中文 | 抽插内射高潮呻吟V杜V | 久久99久久成人免费播放 | 99久久免热在线观看 | 国产99久久久欧美黑人刘玥 | 欧美精品九九99久久在免费线 | 蜜桃传媒在线播放 | 国产精品97久久AV色婷婷 | 无敌在线视频观看免费 | 亚洲 自拍 欧洲 视频二区 | 黄色三级网站在线观看 | 国产视频这里只有精品 | 欧美丰满熟妇BBB久久久 | 好姑娘社区在线视频 |