人人網的架構

來源:互聯網
上載者:User

人人網就是原來的校內網,校內網這個名字對SNS的發展有一定的局限性,同時迫於開心001越來越強大的壓力,因此千像集團作出了改名的決定,詳見這兒。

人人網大概有5000台伺服器,一開始伺服器託管在世紀互聯,但是由於找IDC託管的這種運營方式成本太高了,所以後來直接把伺服器託管在電信和網通的機房了。

人人網主要採用JAVA開發,另外女人頻道BBS採用PHP開發,Web伺服器主要使用Nginx及Resin。

資料庫使用的是Mysql,採用的是Master-Slave方式,並且使用Mysql Proxy程式,進行中介層代理,同時對資料按照網站功能進行垂直切分,比如使用者註冊登入是一部分、日誌是一部分、相簿是一部分、遊戲又是一部分等;對資料本身進行水平切分,也就是Hash散表或者是散庫。

人人網大概有如下的網域名稱,當然還有一些,我沒有一一在此列出來,只是列出了一些常用的網域名稱
www.renren.com
www.5q.com
home.renren.com
i.renren.com
friend.renren.com
app.renren.com(所有應用列表)
apps.renren.com(進入到某一個應用)
game.renren.com
msg.renren.com
login.renre.com
reg.renren.com
invite.renren.com
pay.renren.com
browse.renren.com(用於搜尋)
blog.renren.com
photo.renren.com
group.renren.com
share.renren.com
gift.renren.com
abc.renren.com
club.renren.com(論壇)
class.renren.com(班級)
game.renren.com
dev.renren.com
page.renren.com
mobile.renren.com(手機人人網)
m.renren.com
support.renren.com(客服)
basketball.renren.com(籃球巨星)
maoyou.renren.com(貓遊記)
xnproxy.ad.renren.com
lady.renren.com
ladybbs.renren.com(人人網女人頻道論壇)
s.xnimg.cn(儲存js,css,圖片等資料的伺服器)
jebe.xnimg.cn
app.xnimg.cn
hdn***.xnimg.cn
hd***.xnimg.cn
.....
應該還有一些網域名稱

其中game(pay).renren.com用的Web伺服器是Resin,人人網的所有網域名稱我沒有一一測試,所以說的只是個大概
C:/Windows/system32>curl -I game.renren.com
HTTP/1.1 302 Found
Server: Resin/3.0.21
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://login.renren.com/Login.do?rf=r&origURL=http%3A%2F%2Fgame.renren.com%2Findex.do
Set-Cookie: kl=null; domain=.renren.com; path=/; expires=Thu, 01-Dec-1994 16:00:00 GMT
Set-Cookie: societyguester=null; domain=.renren.com; path=/; expires=Thu, 01-Dec-1994 16:00:00 GMT
Set-Cookie: XNESSESSIONID=66536e18a936; domain=.renren.com; path=/
Set-Cookie: XNESSESSIONID=abcAaOKVT8eDZ8nlxRlns; domain=.renren.com; path=/
Content-Type: text/html; charset=UTF-8
Content-Length: 123
Date: Mon, 24 Aug 2009 09:12:21 GMT

除了game(pay).renren.com外其它的域用的是nginx,本身nginx是不支援java(jsp,servlet等),必須與tomcat、resin、weblogic、websphere等組合起來使用才支援java
C:/Users/caihuafeng>curl -I renren.com
HTTP/1.1 302 Found
Server: nginx/0.6.32
Date: Sun, 23 Aug 2009 19:07:59 GMT
Content-Type: text/html
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://wwv.renren.com/xn.do?ss=10112&rt=26
Set-Cookie: kl=null; domain=.renren.com; path=/; expires=Thu, 01-Dec-1994 16:00:00 GMT
Set-Cookie: societyguester=null; domain=.renren.com; path=/; expires=Thu, 01-Dec-1994 16:00:00 GMT
Set-Cookie: XNESSESSIONID=cc54212fc1bc; domain=.renren.com; path=/
Set-Cookie: depovince=ZGQT; domain=.renren.com; path=/; expires=Wed, 26-Aug-2009 19:07:59 GMT
Set-Cookie: jebecookies=6ffb5bf3-7eea-4a15-a341-2b18f249650b|||||; domain=.renren.com; path=/
Set-Cookie: _r01_=1; domain=.renren.com; path=/; expires=Wed, 18-Aug-2010 19:07:59 GMT
Content-Length: 80

nslookup xnimg.cn輸出如下,網域名稱xnimg.cn後面對應的應該是一組叢集伺服器,不同的使用者訪問不同的伺服器
C:/Windows/system32>nslookup xnimg.cn
伺服器:  ns.crcbj.com
Address:  61.233.9.9

非權威應答:
名稱:    xnimg.cn
Addresses:  123.129.232.37
   123.129.232.38
   123.129.232.39
   123.129.232.40
   123.129.232.55
   123.129.232.56
   123.129.232.57
   123.129.232.58
   123.129.232.59
   123.129.232.11
   123.129.232.33
   123.129.232.35
   123.129.232.36

同理s.xnimg.cn與xnimg.cn一樣,也是一組伺服器叢集
C:/Windows/system32>nslookup s.xnimg.cn
伺服器:  ns.crcbj.com
Address:  61.233.9.9

非權威應答:
名稱:    s.xnimg.cn
Addresses:  123.125.46.62
   123.125.46.65
   123.125.46.66
   123.125.46.59
   123.125.46.60

hdn***.xnimg.cn及hd***.xnimg.cn的伺服器好像使用了cdn系統,我們這裡以hdn111.xnimg.cn域為例來看看

圖片http://hdn111.xnimg.cn/photos/hdn111/20090615/2150/tiny_6qCc_123508i204234.jpg的Response Header為
Server nginx/0.7.57
Date Mon, 24 Aug 2009 10:04:18 GMT
Content-Type image/jpeg
Connection keep-alive
Content-Length 1576
Last-Modified Mon, 15 Jun 2009 13:53:31 GMT
Expires Thu, 06 Aug 2009 15:32:50 GMT
Cache-Control max-age=2592000
Accept-Ranges bytes
Age 190672
X-Cache HIT from hdn-JNDSTWT232-96.opi.com

從上面的輸出可以看出,此伺服器採用了CDN相關的技術,人人網的CTO是黃晶,不知道上述的字母h是不是代表黃的意思,只能是猜測了

人人網自己的網域名稱伺服器ns1.5q.com及ns2.5q.com
C:/Users/caihuafeng>nslookup -qt=ns renren.com
伺服器:  ns.crcbj.com
Address:  61.233.9.9

非權威應答:
renren.com      nameserver = ns1.5q.com
renren.com      nameserver = ns2.5q.com

ns2.5q.com      internet address = 211.100.33.208

網域名稱伺服器ns1.5q.com沒有開53連接埠,只有網域名稱伺服器ns2.5q.com開了53連接埠,53連接埠是DNS服務預設的連接埠,具體原因也不知道為什麼
[root@CentOS_Test_Server ~]# nmap ns1.5q.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-08-24 17:57 CST
Interesting ports on 123.125.40.219:
Not shown: 1679 filtered ports
PORT   STATE  SERVICE
80/tcp closed http

Nmap finished: 1 IP address (1 host up) scanned in 29.504 seconds
[root@CentOS_Test_Server ~]# nmap ns2.5q.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-08-24 17:57 CST
Interesting ports on 211.100.33.208:
Not shown: 1678 filtered ports
PORT   STATE  SERVICE
53/tcp open   domain
80/tcp closed http

Nmap finished: 1 IP address (1 host up) scanned in 26.963 seconds

人人網的郵件伺服器mail.renren.com
C:/Windows/system32>nslookup -qt=mx renren.com
伺服器:  ns.crcbj.com
Address:  61.233.9.9

非權威應答:
renren.com MX preference = 10, mail exchanger = mail.renren.com

renren.com nameserver = ns2.5q.com
renren.com nameserver = ns1.5q.com
mail.renren.com internet address = 123.125.46.175
ns1.5q.com internet address = 123.125.40.219
ns2.5q.com internet address = 211.100.33.208

伺服器mail.renren.com開啟了110及25連接埠,確認是郵件伺服器

[root@CentOS_Test_Server ~]# nmap -O mail.renren.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-08-24 19:23 CST
Warning:  OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on 123.125.46.175:
Not shown: 1677 filtered ports
PORT    STATE SERVICE
25/tcp  open  smtp
80/tcp  open  http
110/tcp open  pop3

Device type: broadband router|general purpose
Running: FiberLine embedded, Linksys embedded, Linux 2.4.X|2.5.X|2.6.X
OS details: FiberLine Wireless DSL router, Linksys WAG54G Wireless Gateway, Linux 2.2.16, Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11, Linux 2.6.4 - 2.6.9, Linux 2.6.8 (Ubuntu)
Uptime 41.448 days (since Tue Jul 14 08:39:12 2009)

Nmap finished: 1 IP address (1 host up) scanned in 33.138 seconds

跟蹤網域名稱www.renren.com的網域名稱解析過程

[root@CentOS_Test_Server ~]# dig www.renren.com +trace | nali

; <<>> DiG 9.3.4-P1 <<>> www.renren.com +trace
;; global options:  printcmd
.                       10304   IN      NS      I.ROOT-SERVERS.NET.
.                       10304   IN      NS      G.ROOT-SERVERS.NET.
.                       10304   IN      NS      A.ROOT-SERVERS.NET.
.                       10304   IN      NS      E.ROOT-SERVERS.NET.
.                       10304   IN      NS      K.ROOT-SERVERS.NET.
.                       10304   IN      NS      M.ROOT-SERVERS.NET.
.                       10304   IN      NS      L.ROOT-SERVERS.NET.
.                       10304   IN      NS      B.ROOT-SERVERS.NET.
.                       10304   IN      NS      J.ROOT-SERVERS.NET.
.                       10304   IN      NS      H.ROOT-SERVERS.NET.
.                       10304   IN      NS      C.ROOT-SERVERS.NET.
.                       10304   IN      NS      F.ROOT-SERVERS.NET.
.                       10304   IN      NS      D.ROOT-SERVERS.NET.
;; Received 460 bytes from 61.233.9.9[北京市 鐵通]#53(61.233.9.9[北京市 鐵通]) in 65 ms

com.                    172800  IN      NS      L.GTLD-SERVERS.NET.
com.                    172800  IN      NS      M.GTLD-SERVERS.NET.
com.                    172800  IN      NS      A.GTLD-SERVERS.NET.
com.                    172800  IN      NS      B.GTLD-SERVERS.NET.
com.                    172800  IN      NS      C.GTLD-SERVERS.NET.
com.                    172800  IN      NS      D.GTLD-SERVERS.NET.
com.                    172800  IN      NS      E.GTLD-SERVERS.NET.
com.                    172800  IN      NS      F.GTLD-SERVERS.NET.
com.                    172800  IN      NS      G.GTLD-SERVERS.NET.
com.                    172800  IN      NS      H.GTLD-SERVERS.NET.
com.                    172800  IN      NS      I.GTLD-SERVERS.NET.
com.                    172800  IN      NS      J.GTLD-SERVERS.NET.
com.                    172800  IN      NS      K.GTLD-SERVERS.NET.
;; Received 504 bytes from 192.36.148.17[瑞典 斯德哥爾摩]#53(I.ROOT-SERVERS.NET) in 498 ms

renren.com.             172800  IN      NS      ns1.5q.com.
renren.com.             172800  IN      NS      ns2.5q.com.
;; Received 103 bytes from 192.55.83.30[美國]#53(M.GTLD-SERVERS.NET) in 5401 ms

www.renren.com.         600     IN      A       123.125.44.242[北京市 聯通ADSL]
renren.com.             600     IN      NS      ns1.5q.com.
renren.com.             600     IN      NS      ns2.5q.com.
;; Received 119 bytes from 123.125.40.219[北京市 聯通ADSL]#53(ns1.5q.com) in 62 ms

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.