小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

專(zhuān)訪人人網(wǎng)黃晶:SNS網(wǎng)站后臺(tái)架構(gòu)探秘

 xpistol 2010-09-08
    在了解了世界最大的PHP站點(diǎn)Facebook的后臺(tái)架構(gòu)后,我們不禁想問(wèn):國(guó)內(nèi)的SNS站點(diǎn)在使用哪些后臺(tái)技術(shù)呢?對(duì)此,51CTO獨(dú)家專(zhuān)訪了現(xiàn)任人人網(wǎng)產(chǎn)品技術(shù)高級(jí)總監(jiān)黃晶老師,由他來(lái)給大家介紹一下國(guó)內(nèi)大型SNS網(wǎng)站的代表人人網(wǎng)的后臺(tái)架構(gòu)情況。

    【51CTO獨(dú)家專(zhuān)訪】51CTO在此之前報(bào)道過(guò)一篇名為《世界最大的PHP站點(diǎn) Facebook后臺(tái)技術(shù)探秘》的文章,讓我們了解到Facebook是如何保證5億用戶的系統(tǒng)一直保持穩(wěn)定、可靠運(yùn)行的。如果說(shuō)Facebook離我們有些遠(yuǎn)的話,那么相信人人網(wǎng)是大家再熟悉不過(guò)的一個(gè)SNS網(wǎng)站了。

    人人網(wǎng) 
    人人網(wǎng)首頁(yè)

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

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

    在今年4月24日召開(kāi)的Qcon 2010技術(shù)大會(huì)上,51CTO也曾對(duì)黃晶老師進(jìn)行過(guò)采訪,詳情請(qǐng)閱讀《51CTO專(zhuān)訪人人網(wǎng)黃晶:WEB開(kāi)發(fā)需要隨需應(yīng)變

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

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

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

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

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

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

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

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

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

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

關(guān)于MySQL,51CTO推薦專(zhuān)題:MySQL數(shù)據(jù)庫(kù)入門(mén)與精通教程

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

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

推薦閱讀:分布式緩存系統(tǒng)memcached簡(jiǎn)介與實(shí)踐

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

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

關(guān)于NoSQL,51CTO推薦專(zhuān)題:NoSQL:關(guān)系型數(shù)據(jù)庫(kù)終結(jié)者?

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

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

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

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

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

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多