溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用開源軟件搭建的可擴(kuò)展SNS網(wǎng)站mixi.jp是怎樣的

發(fā)布時(shí)間:2021-12-13 10:40:10 來(lái)源:億速云 閱讀:154 作者:柒染 欄目:網(wǎng)絡(luò)安全

使用開源軟件搭建的可擴(kuò)展SNS網(wǎng)站mixi.jp是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

Mixi目前是日本排名第三的網(wǎng)站,全球排名42,主要提供SNS服務(wù):日記,群組,站內(nèi)消息,評(píng)論,相冊(cè)等等,是日本最大的SNS網(wǎng)站。Mixi從2003年12月份開始開發(fā),由現(xiàn)在它的CTO - Batara Kesuma一個(gè)人焊,焊了四個(gè)月,在2004年2月份開始上線運(yùn)行。兩個(gè)月后就注冊(cè)了1w用戶,日訪問量60wPV。在隨后的一年里,用戶增長(zhǎng)到了21w,第二年,增長(zhǎng)到了200w。到今年四月份已經(jīng)增長(zhǎng)到370w注冊(cè)用戶,并且還在以每天1.5w人的注冊(cè)量增長(zhǎng)。這些用戶中70%是活躍用戶(活躍用戶:三天內(nèi)至少登錄一次的用戶),平均每個(gè)用戶每周在線時(shí)間為將近3個(gè)半小時(shí)。[@more@]下面我們來(lái)看它的技術(shù)架構(gòu)。Mixi采用開源軟件作為架構(gòu)的基礎(chǔ):Linux 2.6,Apache 2.0,MySQL,Perl 5.8,memcached,Squid等等。到目前為止已經(jīng)有100多臺(tái)MySQL數(shù)據(jù)庫(kù)服務(wù)器,并且在以每月10多臺(tái)的速度增長(zhǎng)。Mixi的數(shù)據(jù)庫(kù)連接方式采用的是每次查詢都進(jìn)行連接,而不是持久連接。數(shù)據(jù)庫(kù)大多數(shù)是以InnoDB方式運(yùn)行。Mixi解決擴(kuò)展問題主要依賴于對(duì)數(shù)據(jù)庫(kù)的切分。

  首先進(jìn)行垂直切分,按照表的內(nèi)容將不同的表劃分到不同的數(shù)據(jù)庫(kù)中。然后是水平切分,根據(jù)用戶的ID將不同用戶的內(nèi)容再劃分的不同的數(shù)據(jù)庫(kù)中,這是比較通常的做法,也很管用。劃分的關(guān)鍵還是在于應(yīng)用中的實(shí)現(xiàn),需要將操作封裝在在數(shù)據(jù)層,而盡量不影響業(yè)務(wù)層。當(dāng)然完全不改變邏輯層也不可能,這時(shí)候最能檢驗(yàn)以前的設(shè)計(jì)是否到位,如果以前設(shè)計(jì)的不錯(cuò),那創(chuàng)建連接的時(shí)候傳個(gè)表名,用戶ID進(jìn)去差不多就解決問題了,而以前如果sql代碼到處飛,或者數(shù)據(jù)層封裝的不太好的話那就累了。

  這樣做了以后并不能從根本上解決問題,尤其是對(duì)于像mixi這種SNS網(wǎng)站,頁(yè)面上往往需要引用大量的用戶信息,好友信息,圖片,文章信息,跨表,跨庫(kù)操作相當(dāng)多。這個(gè)時(shí)候就需要發(fā)揮memcached的作用了,用大內(nèi)存把這些不變的數(shù)據(jù)全都緩存起來(lái),而當(dāng)修改時(shí)就通知cache過期,這樣應(yīng)用層基本上就可以解決大部分問題了,只會(huì)有很小一部分請(qǐng)求穿透應(yīng)用層,用到數(shù)據(jù)庫(kù)。Mixi的經(jīng)驗(yàn)是平均每個(gè)頁(yè)面的加載時(shí)間在0.02秒左右(當(dāng)然根據(jù)頁(yè)面大小情況不盡相似),可以說(shuō)明這種做法是行之有效的。Mixi一共在32臺(tái)機(jī)器上有緩存服務(wù)器,每個(gè)Cache Server 2G內(nèi)存,這些Cache Server與App Server裝在一起。因?yàn)镃ache Server對(duì)CPU消耗不大,而有了Cache Server的支援,App Server對(duì)內(nèi)存要求也不是太高,所以可以和平共處,更有效的利用資源。

  圖片的處理就顯得相對(duì)簡(jiǎn)單的多了。對(duì)于mixi而言,圖像主要有兩部分:一部分是經(jīng)常要使用到的,像用戶頭像,群組的頭像等等,大概有100多GB,它們被Squid和CDN所緩存,命中率相對(duì)比較高;另一部分是用戶上傳的大量照片,它們的個(gè)體訪問量相對(duì)而言比較小,命中率也比較低,使用Cache不劃算,所以對(duì)于這些照片的策略是直接在用戶上傳的時(shí)候分發(fā)到到圖片存儲(chǔ)服務(wù)器上,在用戶訪問的時(shí)候直接進(jìn)行訪問,當(dāng)然圖片的位置需要在數(shù)據(jù)庫(kù)中進(jìn)行記錄,不然找不到放在哪臺(tái)服務(wù)器上就郁悶了。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI