[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content-advantage-of-multi-sub-domains":3,"$f12vzws38hka2x":21},{"id":4,"type":5,"slug":6,"title":7,"date":8,"category":9,"tags":10,"body_markdown":14,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"html":19,"cover":20},148,"article","advantage-of-multi-sub-domains","见识多子域名的好处","2008-06-11 16:30:22","web",[11,12,13],"域名","性能","http","\n\n今天在新浪博客上传了一大堆的图片，然后自己看的时候显示效果还算好。但是不管是在教育网还是网通的网络都会有几张不能显示。\n\n起初怀疑是图片上传出了问题，后来确认不是。再仔细看了一下，发现新浪是将图片存在不同的服务器上的，初步判断是随机挑选服务器。各服务器使用不同的二级域名，域名如下http:\u002F\u002FstaticXX.photo.sina.com.cn，我遇到的XX从1到16，意味着最少有16台这样的服务器。\n\n其实这样做有其坏处，比如域名解析需要大量的时间，且有服务器连接不上的话这台服务器上的图片就不能显示出来。\n\n但是，这样做的好处会比坏处更大。首先，目前IE除8以外，其他版本的均只支持同时从1个域名并发两个请求，即最多同时可以在一台服务器上请求两张图片，再通俗一点，就是说最多只能同时下载两张，要下载第三张就必须等两张中的一张下载完毕。（其实不止图片，网页文件本身，以及相关的JS文件，CSS文件等等都受此限制。）因此，使用多个服务器可以大大地增加并发数量，加快图片显示的速度。另一方面，多个服务器出现同时不能连接的可能性较小，因此即使网络不好，也会有一部分图片显示出来。（我现在的情况就是这样。）\n\n好像以前采用这种方式的网站并不很多，最多只是根据内容的不同区分不同的服务器，但现在很多网站都考虑到了并发的问题，采用了多域名。典型的像校内就是，它根据内容的不同区分了不同的服务器，例如登录后就是home.xiaonei.com，好友页面是friend.xiaonei.com，分享页面是share.xiaonei.com等等。同时相同内容的例如上传的附件也是随机存储在很多服务器上的。\n\n这样的构架确实不错，但是技术含量应该也是很高的。这其中涉及到域名的分配问题，多服务器的数据共享，以及WEB服务器与数据服务器通讯等等一系列问题。当然，作为专用的图片服务器，还会涉及到关于图片存储、处理、读取等问题（反向代理好像用得很多）。限于资金问题，还没有玩过独立的服务器，更没有接触过多服务器之间的数据处理问题，只看过一些文章，因此也只能做上述分析，更细的东西在亲自接触过之后应该会有很多心得。\n\n那么对于小网站，没有资本做多服务器的能得到些什么启示呢？首先，多域名同样是可用的，即把多个域名绑定到一台主机上，然后在网站显示的时候请求不同的域名。其次，可以对图片或者其他文件进行优化，例如在一定限度内进行压缩处理，以加快传输。再者，就只能在网页制作技术上下工夫了，尽量减少服务器的负担，使之能稳定运行，当然，这里面还涉及到用户的体验问题，无法再空泛地讨论，因此打住。\n",null,0,"2026-08-28 04:37:17","published","\u003Cp>今天在新浪博客上传了一大堆的图片，然后自己看的时候显示效果还算好。但是不管是在教育网还是网通的网络都会有几张不能显示。\u003C\u002Fp>\n\u003Cp>起初怀疑是图片上传出了问题，后来确认不是。再仔细看了一下，发现新浪是将图片存在不同的服务器上的，初步判断是随机挑选服务器。各服务器使用不同的二级域名，域名如下\u003Ca href=\"http:\u002F\u002FstaticXX.photo.sina.com.cn\">http:\u002F\u002FstaticXX.photo.sina.com.cn\u003C\u002Fa>，我遇到的XX从1到16，意味着最少有16台这样的服务器。\u003C\u002Fp>\n\u003Cp>其实这样做有其坏处，比如域名解析需要大量的时间，且有服务器连接不上的话这台服务器上的图片就不能显示出来。\u003C\u002Fp>\n\u003Cp>但是，这样做的好处会比坏处更大。首先，目前IE除8以外，其他版本的均只支持同时从1个域名并发两个请求，即最多同时可以在一台服务器上请求两张图片，再通俗一点，就是说最多只能同时下载两张，要下载第三张就必须等两张中的一张下载完毕。（其实不止图片，网页文件本身，以及相关的JS文件，CSS文件等等都受此限制。）因此，使用多个服务器可以大大地增加并发数量，加快图片显示的速度。另一方面，多个服务器出现同时不能连接的可能性较小，因此即使网络不好，也会有一部分图片显示出来。（我现在的情况就是这样。）\u003C\u002Fp>\n\u003Cp>好像以前采用这种方式的网站并不很多，最多只是根据内容的不同区分不同的服务器，但现在很多网站都考虑到了并发的问题，采用了多域名。典型的像校内就是，它根据内容的不同区分了不同的服务器，例如登录后就是home.xiaonei.com，好友页面是friend.xiaonei.com，分享页面是share.xiaonei.com等等。同时相同内容的例如上传的附件也是随机存储在很多服务器上的。\u003C\u002Fp>\n\u003Cp>这样的构架确实不错，但是技术含量应该也是很高的。这其中涉及到域名的分配问题，多服务器的数据共享，以及WEB服务器与数据服务器通讯等等一系列问题。当然，作为专用的图片服务器，还会涉及到关于图片存储、处理、读取等问题（反向代理好像用得很多）。限于资金问题，还没有玩过独立的服务器，更没有接触过多服务器之间的数据处理问题，只看过一些文章，因此也只能做上述分析，更细的东西在亲自接触过之后应该会有很多心得。\u003C\u002Fp>\n\u003Cp>那么对于小网站，没有资本做多服务器的能得到些什么启示呢？首先，多域名同样是可用的，即把多个域名绑定到一台主机上，然后在网站显示的时候请求不同的域名。其次，可以对图片或者其他文件进行优化，例如在一定限度内进行压缩处理，以加快传输。再者，就只能在网页制作技术上下工夫了，尽量减少服务器的负担，使之能稳定运行，当然，这里面还涉及到用户的体验问题，无法再空泛地讨论，因此打住。\u003C\u002Fp>\n","",{"total":16,"totalRoots":16,"comments":22,"pv":16},[]]