《国内大型门户网站架构分析》共分两部分,原文作者写于2004年!但对目前大型网站架构仍有很好的参考意义!

大型社区网站的架构

浅析大型门户网站的架构

如何做镜像服务器

域名双线路智能负载均衡的实现方案

大型高并发高负载网站的系统架构

新浪和搜狐在国内的知名度可谓无人不知无人不晓。他们每天的点击率都在千万以上。这样大的访问量对于新浪和搜狐来说怎样利用有限的资源让网民获得最快的速度成为首要的前提,毕竟现在网络公司已经离开了烧钱的阶段,开始了良性发展,每一笔钱砸下去都需要一定回响才行的。另一方面,技术人员要绞尽脑汁,不能让用户老是无法访问、或者访问速度极慢。这样就算有再好的编辑、再好的销售,他们也很难将广告位卖出去,等待他们的将是关门。当然这些情况都没有发生,因为他们的技术人员都充分的利用了现有资源并将他们发挥到了极至。说到底就是用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直接和客户端连在一起的方式,这样的方式明显的节省的带宽和服务器。用户访问的速度感觉也会更快。

当然也不能因为几个域名ip就断然他们使用squid做前端cache,你可以直接访问其中的一个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还有很多其他服务器,什么下载,博客,搜索引擎,图片,论坛等不在这个架构中。

国内大型门户网站架构分析-静态化网站架构相关推荐

  1. 国内大型门户网站架构分析-静态化网站架构-sina、sohu静态化网站架构揣测

    http://hi.baidu.com/injava/blog/item/08b186ef22519beacf1b3e59.html <国内大型门户网站架构分析>共分两部分,原文作者写于2 ...

  2. 网站首页html静态化,网站首页怎么静态化

    网站首页如何静态化 网站是个投资类的门户,www.investide.cn 投资潮. 首页内容较多,有四屏多吧,数据库调用也很多,虽然数据库层做了缓存,页面上也使用了oscache,但还是感觉慢,于是 ...

  3. 网站优化---页面静态化技术

    一: 首先先区分一下动态页面和静态页面的区别 动态文件:PHP脚本.Java脚本等 动态文件的执行过程:词法.语法分析 -> 编译 -> 渲染输出 静态文件:HTML文件 从加载速度上可以 ...

  4. WordPress导出全静态化网站

    Wordpress做为世界上流行的博客建站软件,不管是从界面还是功能上来说都非常成熟,不过有一点比较遗憾,Wordpress建立的主要是动态网站页面,其性能消耗比较大,用Wordpress建立较大的网 ...

  5. 大型网站的页面静态化

    目录 前言 方案一:网页静态HTML化 伪静态 布局样式模板化 应用层nginx 分发层nginx 前言 我们小伙伴们在访问淘宝.网易等大型网站时有没有考虑到,网站首页.商品详情页以及新闻详情页面是如 ...

  6. 网站提速-页面静态化(2)

    第一篇.页面静态化 页面静态化概念 我们大多数情况下是直接访问php文件,php脚本在服务器端执行并 返回信息,对于一些大型的网站,访问量很大,频繁的动态操作和操作 数据库会加重服务器的负担.在实际开 ...

  7. 音乐网站毕业设计html,静态音乐网站设计(毕业论文).doc

    静态音乐网站设计(毕业论文) 计算机技术在其发展过程中形成两个重要分支:通用计算机领域,现在以Pc机为代表,着重发展海量高速数值运算技术,而其控制能力是有限的:嵌入式计算机领域,现在以单片机为代表,着 ...

  8. 【网站流量分析】某网站网站流量分析报告(CNZZ统计)

    某网站流量分析报告 1思维导图 2流量分析 2.1趋势分析 2.2对比分析 2.3当前在线 3来源分析 3.1来源分类 3.2搜索引擎 3.3搜索词 3.4受访界面 4访客分析 4.1区域分布 4.2 ...

  9. 电子商务网站如何分析竞争对手的网站?

     提要:在做网络营销时,分析竞争对手是商业竞争中很重要的一个环节.作为电子商务经营的平台,竞争对手的网站,当然也是需要重点分析的.那么如何对竞争对手的网站进行分析呢?在这里分享一些经验! 1.研究网站 ...

最新文章

  1. Qt控件如何随着界面自适应变化
  2. R语言使用hexSticker包将lattice包可视化的结果转换为六角图(六角贴、六角形贴纸、lattice plot to hex sticker)
  3. Python面向对象之接口类(抽象类)
  4. 函数return,有些地方你可能还没掌握
  5. 1022. 宠物小精灵之收服
  6. ORACLE复杂查询之连接查询
  7. treeSet中对象的比较
  8. linux里强制覆盖,Linux cp命令无法强制覆盖
  9. 2016网易有道内推笔试题
  10. 跟工作选择障碍同学聊一聊现实的问题……
  11. 怎么做301永久重定向
  12. 门禁上的push是什么意思_门禁系统专业术语对照表
  13. 解密微软Longhorn和Office 12发布时间表
  14. Spring文件上传接口学习(MultipartFile,MultiparHttpservletRequest,MultipartResolver)
  15. Linux man --显示在线手册页
  16. JVM 精华知识点汇总
  17. 百度地图API和高德地图API资料集锦
  18. 网易考拉在服务化改造方面的实践
  19. 解决Visual C++ Redistributable安装找不到vc_runtimeMinimum_x86.msi最简单办法
  20. C语言的快乐-表白代码

热门文章

  1. 记账类APP竞品分析-挖财与随手记
  2. 股市日记之“牛一阶段”
  3. UMLet的使用与类图的设计
  4. 知识库系统源代码——信息新增、编辑以及展示源码
  5. photoshop cc使用技巧
  6. 轻松实现Shopify产品导入到WooCommerce商店:Import Shopify to WooCommerce(S2W)插件下载
  7. POJ 1217 FOUR QUARTERS 笔记
  8. 班级主页效果图html,classhomepage 超级
  9. Greedy Algorithm correctness proof
  10. 一级计算机基础知识考试第二套,一级考试计算机基础知识真题及解析.doc