优游中国网站服务器架构解决方案
我们的网站(优游中国www.yooyocn.com)包含了资讯,视频,照片,上传,论坛等必须响应及时,数据量大的业务内容。这对服务器的要求是非常高的,但我们的实力远远达不到新浪,优酷的程度,所以,我们必须结合自己的现状和实际,寻求一个满足我们当前和今后一年发展需求的网站服务器架构。首要的,就是解决网通电信互联互通问题,使全国各地的网友都能快速访问我们的网站。在此基础上,对程序代码和数据库进行优化,最终让我们的网站快速,高效地响应用户请求。
此文中,我首先分析一下国内目前解决互联互通问题的方式,然后提出目前我们最好的选择。
1 双线服务器
方式一单网卡服务器,只有一个IP,网通和电信从机房网关接入。所有用户都访问的是一个IP地址。
但根据我的调查,此方式存在一方快而另一方慢的现象,比如,如果服务器在北方网通机房,则网通用户访问非常快,而电信很慢,如果服务器在南方电信机房,则电信用户快而网通慢。Ping服务器的速度相差会是几十倍。如果服务器在第三方机房,例如铁通机房,我测试了中国铁通总部数据中心,网通电信访问速度都相同,但会慢一些,慢上两倍左右。
不过周一上午测试了IDC一个IP,网通和电信访问都是30ms,速度不错,机房是国家机关数据中心,在中关村南大街。这也许是真正的双线。
方式二双网卡服务器,每个网卡分别接网通线和电信线,但这种方式只是在网上有介绍,并没有看到哪个IDC提供了这种方式。
2 CDN加速
很多门户sina,sohu及视频网站56,youku等都使用了CDN,有的是自建的,有的由CDN服务商提供的。其实本质上CDN和镜像服务器是一样的,只不过所有的镜像都由服务商提供,等于说我们把镜像服务外包了,而他们提供的镜像服务器,会是几十台甚至几百台。
所以它的费用也是最昂贵的,几大视频网站服务费用是天文数字。
3 镜像服务器
两三年以前,这种方式非常流行。目前我们网站就是使用这方式,一台双线服务器,另外分别有一台网通专线服务器,和一台电信专线服务器,共三台。服务器在郑州网通机房,网通用户访问很快,但电信相当慢。所以,就需要把双线服务器上的内容原封不动地拷贝到网通和电信服务器上去。通过智能DNS解析,把用户引导到不同的服务器上去。
镜像服务器存在一个大问题,就是数据同步,怎么样保证三台服务器的的所有内容都是一致的。这在若干年前,问题不大,那时基本上都是自己发布内容让用户去浏览,并且现有的只能通过FTP软件每天定时同步一次,有延迟,是可以接受的。
为了解决这个问题,我用4天时间写出一个镜像服务器实时监控并同步的工具,运行在双线主服务器上,实时监控网站目录,发现有文件增加或修改,就通过FTP分发到另外两台服务器上。
但这仅是解决了一时之需。在当前的WEB2.0环境下,用户可以自己上传内容到网站上去。如果是网通的用户使用是网通的服务器,上传也只能上传到这一台上,电信的用户也只能传到电信的服务器上。怎么样保持两台服务之间的内容相互一致,这是一个更为棘手的问题。并且随着访问量的增大,我们不可能只用一台主服务器,而是很多。
所以,我的结论是,WEB2.0时代,这种镜像方式已经不可取了。
4 面临的问题
目前我们使用的镜像服务器的面临的最大问题就是数据同步。已在上节详细描述。
而选用双线服务器,我们最大的问题是找到一家可信的IDC服务商。目前国内的IDC市场非常混乱,北京数百家IDC瓜分了仅仅10家左右的机房资源,价格不一样,速度不一样,服务质量也不一样。碰上不好的IDC,我们的服务器投资就会打了水漂。
5 最好的选择
对一个大型网站来说,CDN无疑是最好的选择,CDN不但解决了互联互通问题,也解决了网站的性能问题。就是说,不管我们网站的程序做得有多么差,数据库访问有多么慢,只要能打开,CDN就会把网站内容缓存到各国各地,用户访问是缓存服务器而不是我们的服务器了。但CDN的成本太大。这应该是我们网站发展两年后的选择。
目前来说,我们最好的选择是双线,真正速度快的双线,目前测试了几家北京IDC提供的IP,ping值都在30以内,这应该是一个满意的速度,托管价格是5M独享带宽每年两万左右。
我的设想,如果这种方式运行效果理想,一年内我们将再添加三台专业服务器把主站,视频,论坛和数据库各独自运行,再加上我们不断对网站程序和数据库代码进行优化,这样的服务器架构,支撑起一个高并发,大访问量的门户网站应该没有问题的了。
2008-1-10,订购DELL PowerEdge 1950服务器一台,开始了重新架构网站服务的新旅程。优游,我们的新追求!