- 浏览: 321899 次
- 来自: ...
文章分类
最新评论
-
梦回秘蓝:
whichisnotuse 写道非也, 除非需要很执行一段代码 ...
什么情况需要 if (log.isDebugEnabled()) {} -
wupy:
一直while的话会不会太耗内存呢?
java socket 长连接 短连接 -
xy2401:
<type-mapping> <sql-t ...
hibernate tools oracle nvarchar2 被映射成Serializable -
xy2401:
xy2401 写道额,原来配置文件可以改啊。。。不过我已经生成 ...
hibernate tools oracle nvarchar2 被映射成Serializable -
郭玉成:
你好, 我已经找到原因了!
java 编译非文本形式的文件
首先声明,下面的内容都是我个人根据一些工具形成的猜想。并不保证和现实中各大门户网站所用的架构一摸一样,不过我认为八九不离十了。 网易、新浪和搜狐在国内的知名 度可谓无人不知无人不晓。他们每天的点击率都在千万以上。这样大的访问量对于网易、搜狐等来说怎样利用有限的资源让网民获得最快的速度成为首要的前提,毕 竟现在网络公司已经离开了烧钱的阶段,开始了良性发展,每一笔钱砸下去都需要一定回响才行的。另一方面,技术人员要绞尽脑汁,不能让用户老是无法访问、或 者访问速度极慢。这样就算有再好的编辑、再好的销售,他们也很难将广告位卖出去,等待他们的将是关门。当然这些情况都没有发生,因为他们的技术人员都充分 的利用了现有资源并将他们发挥到了极至。说到底就是用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直接和客户端连在一起的方式,这样的方式明显的节省的带宽和服务器。用户访问的速度感觉也会更快。 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试试看,访问下来的结果应该是如下图所示: CDN hspace=0 src="http://61.129.102.61:808/showimg.php?iid=13" align=baseline border=0> 由此可以证明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、 新浪 新浪采用了ChinaCache做的CDN系统,ChinaCache在全国分布了四十多个点,同时采用基于动态dns分配的全球服务器负载均衡技术。 从新浪的站点结构可以看出: Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: libra.sina.com.cn Addresses: 61.135.152.71, 61.135.152.72, 61.135.152.73, 61.135.152.74 61.135.152.75, 61.135.152.76, 61.135.153.181, 61.135.153.182, 61.135.53.183, 61.135.153.184, 61.135.152.65, 61.135.152.66, 61.135.152.67, 61.135.12.68, 61.135.152.69, 61.135.152.70 Aliases: www.sina.com.cn, jupiter.sina.com.cn 在北京地区ChinaCache将www.sina.com.cn的网址解析到libra.sina.com.cn,然后libra.sina.com.cn做了dns负载均衡,将libra.sina.com.cn解析到61.135.152.71等16个ip上,这16个ip分布在北京的多台前台缓存服务器上,使用squid做前台缓存。如果是在其它地区访问www.sina.com.cn可能解析到本地相应的服务器,例如pavo.sina.com.cn,然后pavo又对应了很多做了squid的ip。这样就实现了在不同地区访问自动转到最近的服务器访问,达到加快访问速度的效果。 我们再看一个新浪其它频道是指到哪里的: > news.sina.com.cn Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: libra.sina.com.cn Addresses: 61.135.152.65, 61.135.152.66, 61.135.152.67, 61.135.152.68 61.135.152.69, 61.135.152.70, 61.135.152.71, 61.135.152.72, 61.135.152.73 61.135.153.178, 61.135.153.179, 61.135.153.180, 61.135.153.181, 61.135.153.182 61.135.153.183, 61.135.153.184 Aliases: news.sina.com.cn, jupiter.sina.com.cn 可以看出,各个频道的前台缓存集群与www.sina.com.cn的前台缓存集群是相同的。 2、 搜狐 Sohu与新浪的原理差不多,下面是nslookup的结果: Server: UnKnown Address: 192.168.1.254
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.113, 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 只不过libra.sina.com.cn换成了pagegrp1.sohu.com 我们再来看一下sohu的频道: > news.sohu.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: pagegrp1.sohu.com Addresses: 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.113, 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 Aliases: news.sohu.com 同新浪相同,用的是同样的服务器群,这可能是因为他们用的都是ChinaCache的服务吧,不过sohu的名字起的有点土,pagegrp1,没有libra,pavo好听,这名字听起来有点像法语,比较浪漫。 3、 网易 网易似乎没用ChinaCache的服务,下面是nslookup结果: Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: www.163.com Addresses: 202.106.168.103, 202.106.168.104, 202.106.168.109, 202.106.168.121 202.108.36.153, 202.108.36.155, 202.108.36.156, 202.108.36.167, 202.108.36.172 202.108.36.196 直接在www.163.com 这个域名上做了dns负载均衡。这样的话就要求服务器必须放的非常靠近主节点,才能保证各地的用户访问的速度。 但163不同的频道是放在不同的缓存集群上的,这与sina,sohu有些不同,等于sina,sohu是按照地区划分服务器集群,而网易按照频道划分服务器集群。 > 163.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: 163.com Addresses: 202.108.36.205, 202.108.36.206, 202.108.36.207, 202.108.36.201 202.108.36.202, 202.108.36.203, 202.108.36.204 显然,这和www.163.com不是一个集群,我们再来试一个: > sports.163.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: channel.cache.163.com Addresses: 202.108.36.136, 202.108.36.208, 202.108.36.209, 202.108.36.210 202.108.36.211, 202.108.36.212, 202.108.36.213 Aliases: sports.163.com 可以看出,和上面的集群也是不同的。 4、 百度 百度的前台服务器就不是很多了: Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: www.baidu.com Addresses: 202.108.250.249, 202.108.249.134
> baidu.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: baidu.com Address: 202.108.250.228
> mp3.baidu.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: mp3.baidu.com Address: 202.108.249.131 只有www.baidu.com做了两台服务器的集群,频道都用了一台服务器做前台
5、 一搜 > yisou.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: yisou.com Addresses: 202.165.102.114, 202.43.217.14, 202.43.217.15, 202.43.217.16 202.43.217.17, 202.165.102.111, 202.165.102.112, 202.165.102.113
Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: www.yisou.com Addresses: 202.43.217.17, 202.165.102.111, 202.165.102.112, 202.165.102.113 202.165.102.114, 202.43.217.14, 202.43.217.15, 202.43.217.16
> mp3.yisou.com Server: UnKnown Address: 192.168.1.254
Non-authoritative answer: Name: www.yisou.com Addresses: 202.165.102.113, 202.165.102.114, 202.43.217.14, 202.43.217.15 202.43.217.16, 202.43.217.17, 202.165.102.111, 22.165.102.112 Aliases: mp3.yisou.com 前台做了8台服务器的缓存集群,www.yisou.com和 yisou.com以及mp3.yisou.com是用的同一个集群。
通过前面的分析我们可以得到一个结论:sina和sohu使用了CDN与GSBL与dns负载均衡技术,每个地区一组前台服务器群,网易,百度使用了dns负载均衡技术,每个频道一组前台服务器,一搜使用了dns负载技术,所有频道共用一组前台服务器集群。 |
发表评论
-
SSL and Varnish
2011-08-09 13:55 1118We setup all varnish boxes wher ... -
PlentyOfFish 网站架构学习 - zt
2008-04-03 15:22 1237采取 Windows 技术路线的 Web 2.0 站点并不多, ... -
性能扩展问题要趁早 - zt
2008-04-03 13:49 1064与国内的 Web 2.0 Startup 技术人员相比,国外技 ... -
高性能服务器设计 - zt
2008-04-03 10:26 1675先后查看了haproxy,l7sw ... -
Yupoo! 的网站技术架构 - zt
2008-04-02 21:09 1348又有机会爆料国内 Web 2.0 网站的架构了。这次是 Yup ... -
说说大型高并发高负载网站的系统架构 - zt
2008-04-02 21:05 983一个小型的网站,比如个人网站,可以使用最简单的html静态页面 ... -
使用开源软件,设计高性能可扩展互动网站 - zt
2008-04-02 20:57 985上次我们以LiveJournal为 ... -
从LiveJournal后台发展看 大型网站系统架构以及性能优化方法 - zt
2008-04-02 20:35 1575一、LiveJournal发展历程Li ... -
新浪发起的UNIX开源软件项目memcachedb - zt
2008-02-24 17:24 2181Memcachedb = memcache + Berkele ... -
Memcached学习摘要 - zt
2008-03-29 01:08 2708过期机制: memcached的item ... -
实战web2.0技术篇-MemCache深度分析 - zt
2008-03-29 09:59 3407Memcached是“分布式”的内存对象缓存系统,那么就是说, ... -
Yahoo!社区架构 - zt
2008-02-26 21:47 1370旧金山举行的 QCon 会议 ... -
Tailrank 网站架构 - zt
2008-02-26 21:48 805每天数以千万计的 Blog ... -
Web缓存加速指南 - zt
2008-02-26 21:54 885这是一篇知识性的文档 ... -
Digg 网站架构 - zt
2008-02-26 21:57 987国庆期间又收集了一些关于网站架构的信息。一直没有进行系统的整理 ... -
WikiPedia 技术架构学习分享 - zt
2008-02-26 21:56 1134维基百科(WikiPedia.org)位 ... -
Twitter 的架构扩展: 100 倍性能提升 - zt
2008-02-26 21:58 1116Twitter 是我最近一段时间用的最多的网络服务之一.还记得 ... -
最便宜的高负载网站架构 - zt
2008-02-26 22:20 9311, LVS做前端四层均衡负载基于IP虚拟分发的规则,不同于a ... -
分析mixi.jp and Yeejee.com:用开源搭建的可扩展大型SNS网站 - zt
2008-02-26 22:23 1570分析mixi.jp and Yeejee.com: ... -
开发大型高负载类网站应用的几个要点 - zt
2008-02-26 22:26 1019看了一些人的所谓大型项目的方法,我感觉都是没有说到点子上,有点 ...
相关推荐
根据给定的文件信息,我们可以理解到这份文档是一份关于TY-ZT60-0001a型号压力传感器的样本说明书。在这份说明书中,将详细说明该传感器的接线方式和参数信息。在压力传感器领域,此类文档是十分重要的参考资料,...
本文档是关于ZK-ZT2多功能直流电机调速器的使用手册。手册详细介绍了该调速器的功能、参数指标、接口说明及控制模式等内容。以下是手册中的关键知识点总结: 1. 产品简介 ZK-ZT2调速器支持四种运行模式:手动(人工...
但根据标题和描述信息,我们可以推断出相关知识点主要涉及“雁南自弹式SIM卡座SIM028-ZT规格书”的技术参数和功能特点。以下是根据标题和描述中所能提取的知识点,对SIM028-ZT自弹式SIM卡座的详细说明: 1. SIM卡座...
斑马打印机ZT411和ZT421是工业级条码和标签打印机,广泛应用于制造业、物流、零售业等对打印质量和效率有高要求的领域。这两款打印机以其出色的性能、耐用性和易用性赢得了用户的信赖。这份中文手册详细地介绍了ZT...
一.首先选择适合的无源探测频率 ( )电力电线探测模式,主要应用于交流电力输送系统的电线探测.国内电线频率50Hz.... 1. 使用50Hz频率,主要应用于通常电力系统中。 2. 使用5倍的50Hz频率,主要应用于高压电力系统中,...
1. 下载:首先从官方网站或提供的压缩包中下载沃视征途系列-ZT9404的最新驱动程序。 2. 驱动解压:将压缩包解压至一个方便查找的文件夹,确保所有驱动文件完整无损。 3. 关闭防火墙与杀毒软件:为了防止安全软件阻止...
诚烨ZP6C-ZT9型号的变频器是诚烨公司生产的一款高性能、高可靠性的产品,适用于广泛的工业应用。这个压缩包文件“变频器说明书大全系列-诚烨ZP6C-ZT9.rar”显然是为了帮助用户理解和操作这款变频器而准备的详细资料...
赠送jar包:zt-exec-1.9.jar; 赠送原API文档:zt-exec-1.9-javadoc.jar; 赠送源代码:zt-exec-1.9-sources.jar; 赠送Maven依赖信息文件:zt-exec-1.9.pom; 包含翻译后的API文档:zt-exec-1.9-javadoc-API文档-...
获取nCoV2019统计数据和仪表板显示;数据来源:https-news.qq.com-zt2020-page-feiyan.html_nCoV2019_py
赠送jar包:zt-exec-1.9.jar; 赠送原API文档:zt-exec-1.9-javadoc.jar; 赠送源代码:zt-exec-1.9-sources.jar; 赠送Maven依赖信息文件:zt-exec-1.9.pom; 包含翻译后的API文档:zt-exec-1.9-javadoc-API文档-...
【标题】"一个完整的教育类客户管理CRM-ZT0011源码"指的是一个专为教育行业设计的客户关系管理系统(Customer Relationship Management,简称CRM)的源代码。这个系统可能包含了全面的功能,旨在帮助教育机构更好地...
### 斑马打印机ZT210/ZT220/ZT230用户指南关键知识点 #### 一、版权及商标信息 - **版权声明**:该用户指南及相关软件、固件版权归属ZIH Corp.及其许可证发放者。未经授权复制会受到法律制裁,包括最长一年的监禁...
《零凌电器—安高微电脑温控器操作说明书AG-305ZT》是一份针对AG-305ZT型号的温控器的详细使用指南。这份文档详细介绍了该温控器的功能、特点、技术参数、使用方法、操作界面和维护保养等多个方面。 ### 主要功能及...
这个标题和描述提到的"zt1d2savitzkygolaysmoothinganddifferentionfilter的传输形式"可能是指一个MATLAB代码或者函数,用于实现一维信号的一阶或高阶Savitzky-Golay滤波。下面将详细介绍Savitzky-Golay滤波器的工作...
斑马(Zebra)ZT230条码打印机是一款广泛应用在工业环境中的高效设备,其驱动程序是确保打印机正常工作的重要组成部分。本驱动程序专为Zebra的ZT210、ZT220及ZT230系列打印机设计,提供了全面的功能支持,以实现高...
《GitHub Classroom创建的assignments-zt6801:C++编程学习之旅》 在编程的世界里,C++是一门至关重要的语言,它以其高效、灵活和面向对象的特性深受程序员喜爱。GitHub Classroom作为教育者和学生共享代码和协作的...
hy-zt-temp 通过 , 创建一个虎牙专题的模板. 安装方式 如果你还没安装 .的话,请安装 npm install -g grunt-init 一旦模板被安装到你的~/.grunt-init/目录中(在Windows平台是%USERPROFILE%.grunt-init\目录),那么就...
众仪ZT-X万用表30分钟关机数据,这是一款反人类设计的万用表.
通过以上分析可以看出,在Unix下用C语言编写一个类似Windows菜单的应用程序不仅可行而且非常实用。这不仅能提升Unix系统的用户体验,还能扩展其功能性和可用性。当然,实际开发过程中还需要考虑更多的细节问题,例如...