设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 3810|回复: 13

[架构规划研究] 中国顶级门户网站架构分析(两篇我转载在一起了) [复制链接]

LT管理团队

向Linuxsir的哈密瓜大哥看齐 ...

Rank: 9Rank: 9Rank: 9

签到
227
注册时间
2008-6-5
最后登录
2012-5-22
在线时间
1621 小时
阅读权限
200
积分
33988
帖子
715
主题
205
精华
4
UID
46

LT同学

发表于 2009-2-1 13:38:43 |显示全部楼层
本帖最后由 gyl4802959 于 2009-2-1 14:11 编辑

作者:西瓜太郎
转载自:http://blog.csdn.net/marcolu/archive/2004/07/27/53890.aspx
http://blog.csdn.net/marcolu/archive/2004/07/30/56461.aspx


整篇文章我想分2个部分来讲:第一部分是分析国内2大顶级门户网站首页和频道的初步的基本构架。第二部分我将自己做的实验文档记录下来。希望每个SA心里都能有这样的架构。
顶级门户网站架构分析1

新浪和搜狐在国内的知名度可谓无人不知无人不晓。他们每天的点击率都在千万以上。这样大的访问量对于新浪和搜狐来说怎样利用有限的资源让网民获得最快的速度成为首要的前提,毕竟现在网络公司已经离开了烧钱的阶段,开始了良性发展,每一笔钱砸下去都需要一定回响才行的。另一方面,技术人员要绞尽脑汁,不能让用户老是无法访问、或者访问速度极慢。这样就算有再好的编辑、再好的销售,他们也很难将广告位卖出去,等待他们的将是关门。当然这些情况都没有发生,因为他们的技术人员都充分的利用了现有资源并将他们发挥到了极至。说到底就是用squid做web cache server,而apache在squid的后面提供真正的web服务。当然使用这样的架构必须要保证主页上大部分都是静态页面。这就需要程序员的配合将页面在反馈给客户端之前将页面全部转换成静态页面。好了基本架构就这样,下面说说我怎么猜到的以及具体的架构:

法宝之一:nslookup

实战:

nslookup www.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.230, 61.172.201.231, 61.172.201.232, 61.172.201.233
61.172.201.221, 61.172.201.222, 61.172.201.223, 61.172.201.224, 61.172.201.225
61.172.201.226, 61.172.201.227, 61.172.201.228, 61.172.201.229
Aliases: www.sina.com.cn, jupiter.sina.com.cn

这里可以看到新浪在首页上用到了那么多IP,开始有人会想果然新浪财大气粗啊。其实不然,继续往下看:

nslookup news.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.228, 61.172.201.229, 61.172.201.230, 61.172.201.231
61.172.201.232, 61.172.201.233, 61.172.201.221, 61.172.201.222, 61.172.201.223
61.172.201.224, 61.172.201.225, 61.172.201.226, 61.172.201.227
Aliases: news.sina.com.cn, jupiter.sina.com.cn

细心的人可以发现了news这个频道的ip数和首页上一样,而且IP也完全一样。也就是这些IP在sina的DNS上的名字都叫 taurus.sina.com.cn,那些IP都是这个域的A记录。而news,sports,jczs.news。。。都是CNAME记录。用DNS 来做自动轮询。还不信,再来一个,就体育频道好了:

nslookup sports.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.222, 61.172.201.223, 61.172.201.224, 61.172.201.225
61.172.201.226, 61.172.201.227, 61.172.201.228, 61.172.201.229, 61.172.201.230
61.172.201.231, 61.172.201.232, 61.172.201.233, 61.172.201.221
Aliases: sports.sina.com.cn, jupiter.sina.com.cn

其他的可以自己试。好了再来看看sohu的情况:

nslookup www.sohu.com
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109
61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69, 61.135.150.74
61.135.150.75, 61.135.150.145, 61.135.131.73, 61.135.131.91, 61.135.131.180
61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.132.80
Aliases: www.sohu.com

--------------------------------------------

nslookup news.sohu.com
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.150.145, 61.135.131.73, 61.135.131.91, 61.135.131.180
61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.132.80, 61.135.132.172
61.135.132.173, 61.135.132.176, 61.135.133.109, 61.135.145.47, 61.135.150.65
61.135.150.67, 61.135.150.69, 61.135.150.74, 61.135.150.75
Aliases: news.sohu.com

情况和sina一样,只是从表面来看sohu的IP数要多于sina的IP数,那么sohu上各个频道用的服务器就要多于sina了?当然不能这么说,因为一台服务器可以绑定多个IP,因此不能从IP数的多少来判断用了多少服务器。

从上面这些实验可以基本看出sina和sohu对于频道等栏目都用了相同的技术,即squid来监听这些IP的80端口,而真正的web server来监听另外一个端口。从用户的感觉上来说不会有任何的区别,而相对于将web server直接和客户端连在一起的方式,这样的方式明显的节省的带宽和服务器。用户访问的速度感觉也会更快。

先说那么多了,要去睡觉了,明天还有很多工作要做~有不明白的记得给我留言!!!

顶级门户网站架构分析2
前天讲了最基本的推测方法,今天稍微深入一些:)
1. 难道就根据几个域名的ip相同就可以证明他们是使用squid的嘛?
   当然不是,前面都只是推测。下面才是真正的证实我上面的猜测。先nslookup一把sina的体育频道。
nslookup sports.sina.com.cn
Server:  ns1.china.com
Address:  61.151.243.136

Non-authoritative answer:
Name:    taurus.sina.com.cn
Addresses:61.172.201.231, 61.172.201.232, 61.172.201.233, 61.172.201.9
          61.172.201.10, 61.172.201.11, 61.172.201.12, 61.172.201.13, 61.172.201.14
          61.172.201.15, 61.172.201.16, 61.172.201.17, 61.172.201.227, 61.172.201.228
          61.172.201.229, 61.172.201.230
Aliases:  sports.sina.com.cn, jupiter.sina.com.cn

然后直接访问这些ip中的任意一个ip试试看,访问下来的结果应该是如下图所示:

由此可以证明sina是在dns中设置了很多ip来指向域名sqsh-19.sina.com.cn,而其他各种相同性质的频道都只是sqsh- 19.sina.com.cn一个别名,用CNAME指定。dns的设置应该是这样的,然后server方面,通过squid 2.5.STABLE5(最新的稳定版为STABLE6)来侦听80端口。上面这些是根据一些信息分析而出的,应该基本正确的。下面一些就是我的个人的猜想:

它的真正的web server也同样是侦听80端口,因为在squid配置文件中有一项是:

httpd_accel_port 80

如果你设成其他端口号(比如88)的话,那上图的错误信息就会变成

While trying to retrieve the URL: http://61.172.201.19:88

工具2:nmap扫描程序:可以用来检查服务器开了什么端口。

我现在用nmap来扫描sina的一个ip:61.172.201.19来进行分析

bash-2.05$ nmap 61.172.201.19

Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2004-07-30 13:31 GMT
Interesting ports on 61.172.201.19:
(The 1657 ports scanned but not shown below are in state: filtered)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap run completed -- 1 IP address (1 host up) scanned in 73.191 seconds

可以看到他对外只开了2个端口,80端口就是刚才我们说的squid打开的,这点刚才已经验证过了。而22端口是用来ssh远程连接的,主要是sa用来远程操作服务器用的安全性非常高的方法。

工具3:lynx或者其他可以读取http头文件的工具及小程序:直接看例子比较好理解:)

HTTP/1.0 200 OK
Date: Fri, 30 Jul 2004 05:49:47 GMT
Server: Apache/2.0.49 (Unix)
Last-Modified: Fri, 30 Jul 2004 05:48:16 GMT
Accept-Ranges: bytes
Vary: Accept-Encoding
Cache-Control: max-age=60
Expires: Fri, 30 Jul 2004 05:50:47 GMT
Content-Length: 180747
Content-Type: text/html
Age: 37
X-Cache: HIT from sqsh-230.sina.com.cn
Connection: close

上面是sina的http头的反馈信息。里面有很多有价值的东东哦:)譬如,它后面的apache是用2.0.49,还设了过期时间为2分钟。最后修改时间。这些都是要在编译apache的时候载入的,特别是Last-Modified还需要小小的改一把源码--至少我是这样做的。

综上所述

  sina 的架构应该是前面squid,按照现在的服务器2u,2g内存一般每台服务器至少可以跑4个squid2.5stable5. 这样它16个ip就用了4台服务器。后面一层是apache2.0.49应该会用2台。这2台可能用的全是私有ip,通过前面的squid服务器在 hosts文件中指定。具体的实现方法我会下次整理出我做实验的文档:)而apache的htdocs可能是有一个或2个磁盘阵列作nfs。apache mount nfs server的时候应该是只读的,然后另外还有服务器转门用来做编辑器服务器,用来编辑人员更新文章。这台服务器应该对nfs server是具有可写的权限。

----这就一套完整的sina所运用的方案,当然很多是靠猜测的,我没有和sina的技术人员有过任何沟通(因为一个也不认识),否则我也就不会写出来了。其他sohu,163应该也有这样的架构。

最后声明:这只是一些静态页面组成频道的一个架构,sina还有很多其他服务器,什么下载,在线更新等不在这个架构中。
哈密瓜!一个热爱linux的水果!
gtalk/msn:hamgua@gmail.com
sina微博:http://weibo.com/hamgua
LTmail:hamgua@linuxtone.org
是雄鹰就有展翅飞翔的时候,不是雄鹰要制造展翅飞翔的时候!

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2012-5-3
在线时间
1762 小时
阅读权限
200
积分
14979
帖子
2524
主题
1200
精华
25
UID
1

LT总司令

发表于 2009-2-1 14:49:58 |显示全部楼层
分析思路值得学习,顶一下!
感谢大家对linuxtone的支持!

使用道具 举报

Rank: 1

注册时间
2009-1-22
最后登录
2011-7-18
在线时间
3 小时
阅读权限
10
积分
3
帖子
5
主题
0
精华
0
UID
1139
发表于 2009-2-1 16:55:03 |显示全部楼层
这个文章,我好像二年前就看到过了  ???

使用道具 举报

LT技术团队

诚征头脑简单,身体敏感,没有自制力,没有道德底线的姑娘。

Rank: 7Rank: 7Rank: 7

注册时间
2008-12-27
最后登录
2012-3-29
在线时间
57 小时
阅读权限
100
积分
1050
帖子
115
主题
22
精华
0
UID
789

LT粉丝

发表于 2009-2-20 23:45:58 |显示全部楼层
好象图没转过来!!

使用道具 举报

Rank: 2

注册时间
2009-2-5
最后登录
2011-7-10
在线时间
11 小时
阅读权限
20
积分
180
帖子
28
主题
1
精华
0
UID
1285
发表于 2009-2-28 16:37:47 |显示全部楼层
值得学习的分析。。

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-9-19
最后登录
2011-11-26
在线时间
30 小时
阅读权限
100
积分
218
帖子
63
主题
8
精华
2
UID
304

LT粉丝

发表于 2009-4-19 21:37:27 |显示全部楼层
根本就是瞎掰。已经被人驳斥过了,我懒得再驳
运维高手成长之路
http://xiangningfs.mall.taobao.com

使用道具 举报

Rank: 1

注册时间
2009-9-7
最后登录
2010-12-20
在线时间
117 小时
阅读权限
10
积分
24
帖子
38
主题
6
精华
0
UID
5253
发表于 2010-1-2 23:44:15 |显示全部楼层
确实有点扯蛋,一个2U,2G的服务器装4个SQUID,搞笑了吧

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-6-3
最后登录
2012-5-22
在线时间
150 小时
阅读权限
90
积分
5373
帖子
257
主题
43
精华
0
UID
3391
发表于 2010-10-21 09:37:37 |显示全部楼层
貌似他们的架构要比你写的复杂一点,现在什么时代了还用DNS轮询?

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-10-15
最后登录
2012-5-22
在线时间
331 小时
阅读权限
90
积分
34209
帖子
392
主题
13
精华
0
UID
10623
发表于 2010-10-21 11:24:23 |显示全部楼层
貌似他们的架构要比你写的复杂一点,现在什么时代了还用DNS轮询?
hackin 发表于 2010-10-21 09:37



    呵呵楼上你仔细看看http包头的时间,,,,2004年哦

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-6-3
最后登录
2012-5-22
在线时间
150 小时
阅读权限
90
积分
5373
帖子
257
主题
43
精华
0
UID
3391
发表于 2010-10-21 17:46:35 |显示全部楼层
我太不仔细了,谢谢提醒

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-6-3
最后登录
2012-5-22
在线时间
150 小时
阅读权限
90
积分
5373
帖子
257
主题
43
精华
0
UID
3391
发表于 2011-4-26 17:40:34 |显示全部楼层
不错不错,分析的不错的啊

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-5-22 21:15 , Processed in 0.165550 second(s), 12 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部