<ul id="aaoko"></ul>
<strike id="aaoko"><s id="aaoko"></s></strike>
<strike id="aaoko"></strike>
您當前的位置:首頁 > 匯訊雙周刊 > 第18期 > 專訪人人網(wǎng)黃晶:SNS網(wǎng)站后臺架構(gòu)探秘

專訪人人網(wǎng)黃晶:SNS網(wǎng)站后臺架構(gòu)探秘

2012-07-25

人人網(wǎng)作為國內(nèi)大型SNS站點的代表,其目前已經(jīng)擁有真實注冊用戶超過7000萬、PV達到了4億、日登錄2200萬人次。面對如此龐大的訪問量,人人網(wǎng)的后臺架構(gòu)是怎樣的一番景象呢?關于此,51CTO獨家專訪了現(xiàn)任人人網(wǎng)產(chǎn)品技術高級總監(jiān)黃晶老師。

人人網(wǎng)產(chǎn)品技術高級總監(jiān)黃晶老師 
人人網(wǎng)產(chǎn)品技術高級總監(jiān)黃晶老師
 

51CTO:作為國內(nèi)大型SNS站點的代表,我們知道人人網(wǎng)后臺主要采用Java語言編寫,同其他形式的站點相比,SNS站點在網(wǎng)站架構(gòu)方面有什么樣的特點?

黃晶老師:SNS網(wǎng)站用戶數(shù)據(jù)量龐大且關系復雜,對實時性要求非常高,因此要求SNS網(wǎng)站架構(gòu)要有很強的水平擴展性。

51CTO:在后臺語言的選擇上,有其他大型SNS站點使用PHP,人人網(wǎng)則選擇了Java,使用Java的優(yōu)勢在體現(xiàn)哪些方面?

黃晶老師:Java的優(yōu)勢體現(xiàn)在當項目日漸復雜的時候,可以通過Java良好的OO特性,保持非常好的模塊性,在進行網(wǎng)站重構(gòu)的時候比較方便,在代碼量增大的時候也可保持良好的可管理性。

51CTO:現(xiàn)在很多大型網(wǎng)站的后臺都使用了大量的開源軟件,人人網(wǎng)是否也是如此呢?咱們的開發(fā)團隊是否也在開發(fā)自己的框架呢?

黃晶老師:人人網(wǎng)也使用了大量開源軟件,比如MySQL、Memcached、ICE、Hadoop等,同時我們也根據(jù)業(yè)務需要研發(fā)了自己的框架,比如MVC框架,分布式KV存儲系統(tǒng)。 

51CTO一個網(wǎng)站在發(fā)展過程中,后臺都會經(jīng)歷不斷的重構(gòu),從初期的校內(nèi)網(wǎng)、到現(xiàn)在的人人網(wǎng),網(wǎng)站架構(gòu)最大的變化在哪?

黃晶老師:從初期的校內(nèi)網(wǎng)到現(xiàn)在人人網(wǎng),最大的變化是:很多底層服務都從利用已有開源軟件的搭建,變成了根據(jù)業(yè)務需要,由我們自己開發(fā)專門的服務所代替,這樣能夠提高資源利用程度,提高整個系統(tǒng)的可用性。

51CTO我們知道人人網(wǎng)的用戶量非常龐大,在數(shù)據(jù)庫方面,人人網(wǎng)采用了哪種數(shù)據(jù)庫?除了高性能、可擴展性外,人人網(wǎng)對數(shù)據(jù)庫的需求還有哪些?在整個后臺系統(tǒng)架構(gòu)中,往往數(shù)據(jù)庫的性能也會出現(xiàn)瓶頸,從早期的校內(nèi)網(wǎng)到現(xiàn)在,我們對數(shù)據(jù)庫性能的優(yōu)化方面都做了哪些大的改變?

黃晶老師:我們采用的數(shù)據(jù)庫是MySQL,在需求方面,我們也非常關注高可用性。早期校內(nèi)從單數(shù)據(jù)庫,到主從接口,發(fā)展到后來垂直拆分,然后水平拆分,然后在每個節(jié)點上實現(xiàn)主-主提高可用性,到異地備份容災。目前我們的數(shù)據(jù)庫已經(jīng)有非常強的水平擴展能力和非常高的可用性。

51CTO數(shù)據(jù)緩存在后臺架構(gòu)中同樣非常重要,在數(shù)據(jù)庫服務器、Web服務器以及兩者之間,人人網(wǎng)都采用了哪些緩存手段?

黃晶老師:我們的數(shù)據(jù)庫用到了部分自身緩存機制,比如盡可能利用innodb的pool和MySQL的Query Cache。在中間用到Memcached,以及基于ICE通訊框架由我們自己編寫的包含業(yè)務邏輯處理能力的緩存服務,在我們自行開發(fā)的分布式KV系統(tǒng)中也會充分利用內(nèi)存Cache加速。

51CTO目前國內(nèi)外也有很多大型站點在使用NoSQL,從功能上來將,其非常適合應用在SNS、微博等站點,人人網(wǎng)是否在考慮使用NoSQL呢?

黃晶老師:對于NoSQL,我們已經(jīng)考慮并在逐步試用自行開發(fā)的Nuclear分布式KV存儲系統(tǒng)。

51CTO上傳照片或者圖片是SNS網(wǎng)站用戶很常用的一個功能,對于Web服務器來講,圖片是非常消耗資源的,那么目前人人網(wǎng)每天大概有要處理多少張圖片?相比較其他數(shù)據(jù)而言,圖片會占用大量存儲空間,給服務器帶來不小的壓力,我們知道Facebook有著一套自己的圖片存儲架構(gòu),咱們?nèi)巳司W(wǎng)在這方面是怎么做的呢?

黃晶老師:現(xiàn)在人人網(wǎng)每天要處理千萬張級別的照片數(shù)量。我們使用由C++專門編寫的Web服務來處理照片上傳和壓縮工作。存儲是用一套分布式文件存儲系統(tǒng),在小文件很多的情況下,也會采用把小文件聚合為大文件的方式提高性能,這樣的做法也便于大量小文件的備份。

51CTO目前SNS站點都有很強的實時性,用戶能夠第一時間看到好友都在做什么,像人人網(wǎng)以及Facebook等,還有即時聊天功能,我們是通過什么樣的手段來最大限度的優(yōu)化每一個頁面,從而盡可能的減少服務器的請求時間,提高用戶體驗的呢?

黃晶老師:我們的做法是盡可能把數(shù)據(jù)放在內(nèi)存中,提高數(shù)據(jù)存取速度。另外,復雜的頁面采用并發(fā)機制,多線程同時從多個后臺源取數(shù)據(jù)拼成頁面。

51CTO最后,還想請黃晶老師談一談SNS網(wǎng)站后臺技術的發(fā)展趨勢,以及從事SNS后臺開發(fā)的開發(fā)者需要關注那幾方面?

黃晶老師:鑒于SNS網(wǎng)站的一些業(yè)務特點,在后臺技術中,我們最關注的仍然是高性能,可擴展性,高可用性。并且SNS所提供的服務也在變化中,對于業(yè)務的多變,架構(gòu)要有靈活適應的能力,否則需要提供新服務的時候重構(gòu)之前的系統(tǒng)工作量很大。類似Google的GFS/Bigtable/MapReduce一系列通用的分布式系統(tǒng)非常優(yōu)秀,可以支撐很多Google的業(yè)務需要。所以在SNS網(wǎng)站架構(gòu)中也需要一個能靈活應對業(yè)務變化的一套健壯的分布式系統(tǒng)。

 

2
Copyright ? 2007-2021 匯訊Wiseuc. 粵ICP備10013541號    
展開
免费精品国产自产拍在 | 国产精品1024永久免费视频| 成人精品一区二区三区不卡免费看 | 久久er99热精品一区二区| 国内精品综合久久久40p| 精品成人一区二区三区免费视频| 精品日韩二区三区精品视频| 九九精品久久久久久噜噜| 91天堂素人精品系列网站| 久久久久亚洲精品成人网小说| 99久久国产综合精品麻豆| 51午夜精品免费视频| 日韩成人免费aa在线看| 国产av一区二区精品久久凹凸| 国产精品爽黄69天堂a片| 青娱分类视频精品免费2| 2020国产精品永久在线观看| 无码欧精品亚洲日韩一区| 久久成人精品视频| 99久久婷婷免费国产综合精品| 五月天婷婷精品免费视频| 日韩AV高清在线观看| 日韩综合无码一区二区| 国产精品国语对白露脸在线播放| 久久精品国产亚洲AV天海翼 | 亚洲人成色777777精品| 国产精品怡红院永久免费| 亚洲精品综合久久中文字幕 | 无码精品国产一区二区三区免费| 国内精品久久久久久99蜜桃| 久久久久亚洲精品男人的天堂| 亚洲国产精品狼友中文久久久| 麻豆人妻少妇精品无码专区| 亚洲日韩国产欧美一区二区三区| 又紧又大又爽精品一区二区| 国产精品亚洲一区二区三区| 国产精品玩偶在线观看| 亚洲欧美日韩综合久久久久| 国产精品jizzjizz| 国产精品毛片无遮挡高清| 日韩精品午夜视频一区二区三区|