中国顶级门户网站架构分析 2

王朝system·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

中国顶级门户网站架构分析 2

中国顶级门户网站架构分析 2 中国顶级门户网站架构分析1

前天讲了最基本的推测方法,今天稍微深入一些:)

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还有很多其他服务器,什么下载,在线更新等不在这个架构中。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航