公司有两个服务器。A,B。 网站是一个批发网站,有一个目录是供客户下载淘宝数据包的,比如taobao,然后这个里面都是用以客户id命名的文件夹,里面都是商品图片。客户上传数据包之后,他们的宝贝描述内的图片地址都是连接我们网站上来的。比如www.xxx.com/taobao/user_id/34345.jpg 之类的。这部分流量我有什么办法引导到B服务器上去。让他们调用b的资源带宽。如何当客户下载数据生成相应的文件夹的时候,php将这个文件夹整个移动到B服务器进行同步呢?

解决方案 »

  1.   

    忘记说了服务器是iis6.0+php+mysql+win2003
      

  2.   

    在A机器上启NFS提供磁盘, B服务器mount NFS,共享文件系统就行了,这个对你这种小需求的情况足够了,访问上1000的话单磁盘就撑不住了。如果量再大的话只能用分布式文件系统了,弄两台破电脑做个MogileFS之类的都行,上传请求走Php按user_id进FS,请求下载的时候是GET一个静态URL,可以做Rewrite到php,在php里根据静态URL的user_id询问MogileFS拿到实际文件URL再去请求文件返回即可,这是MogileFS支持HTTP接口的原因,如果不做KEY-URL的缓存或者做reproxy反向代理来做FS的访问,估计效率也不会太高,太起码不会像NFS那样悲剧。
      

  3.   


    win2003 日均ip:6K左右。pv:7-8w 我觉得这个数据有些不正常啊。机房说我们流量一周为3500G,算下来一个pv都要5M。
      

  4.   


    打包数据的下载5M也没有什么吧,也许个别数据上百M,平均下来5M也应该正常。
    应该以你的出口带宽作为计算标准,2台静态服务器提供下载服务跑满出口应该没有压力,关键看并发量峰值的时候带宽占到多少,以此速度来测试NFS是否会拖后腿。
      

  5.   

    图片 pv 5m 实在是太少了...
    简单点 图片用二级域名嘛...指到B去...(这么猥琐)具体的url怎么构造 开动脑筋嘛...