比如现在有4台服务器,当每台流量达到一定数目,你知道的,会很卡,页面加载很慢,我没做过分流,之前也没研究过,于是我想这样做:
客户端先访问一个页面,在这个页面里随机选择某一个服务器,然后跳转过去,并使用cookie记录下来,下次访问的时候,就进入上次访问的服务器大家觉得这个思路有错没?

解决方案 »

  1.   

    像楼上说的,你的办法不太好,一般用软件的话,你4台机器一台做负载均衡服务器,3台WEB服务器,有访问先到你的负载均衡服务器上,然后根据你设定的策略分配到其他服务器上,最简单的用APACHE就可以做负载均衡服务
      

  2.   

    http://wuchengyi.javaeye.com/blog/670260
    负载均衡器比较贵 软件也有免费的 http://www.onlinedown.net/soft/78915.htm
    其实对于一般的网站 把数据库 文件 等分放在不同的服务器上就可以
      

  3.   

    IIS也可以负载均衡
    看这个文章
    http://www.cnblogs.com/inuli/archive/2009/09/29/1576285.html
      

  4.   

    一般web应用会经历如下几步:
    1台服务器搞定
    多台服务器,每台提供应用中的不同服务
    1组服务器
    多组服务器
    。。
    方案很多,个人经验有限,我觉得以上方案是性价比比较高的一般性方案。你现在处在的位置有点不懂,多台服务器,但你似乎又是跑的相同业务。单台服务器优化:
    1 硬件升级,主要是内存。
    2 关于浏览器缓存的优化,页面静态化等等
    3 web服务器调整。比如前端Nginx,squid页面缓存,apache做动态内容,memcache做数据库查询缓存,图片等用Nginx。多台服务器优化:
    1 加内存
    2 把单台2的模式转变成多台服务器服务器组:
    多文件copy,多数据库
    涉及 Nginx对后端apache服务器的心跳检测,激活,负载均衡
    涉及web文件的同步/异步 复制问题
    涉及数据库的同步/异步 复制问题多组服务器:
    涉及智能DNS(解决负载均衡,断线检测)
      

  5.   

    dns 轮询,是最简单的了.其次如果是linux 可用squid反向代理,也可以真正的负载均衡器 lvs.做.
      

  6.   


    看你的网站的动态性如何如果是动态网站,数据库同步就是个问题。主从数据库是有延迟的。如果是静态的,可以用反向代理缓存器squid, 动态的内容转到apache或者动静结合,网页仍是静态的,内嵌部分动态如果你的各服务器已经是同步了dns 轮询,仍是最简单的 或者用apache重写(改动最小)如果你确定上来在哪个服务器的下次仍是那个服务器,cookie是可的
      

  7.   

    如果cookie,apache重写能解决,也就不会有智能DNS了而如果你这1个入口就可以解决问题,那么其实也不用什么apache重写,cookie什么的。
    Nginx squid apache memcache这一套下来完全能让你服务器组的承载量达到前端服务器tcp链接数上限。另外,服务器组,服务器集群中存在维护升级集群或者组中单个服务器的情况,就像热插拔一样,系统要有良好的支持。或者某台服务器故障,也是,系统能有自动检测功能。在可接受的时间范围内重新调整群组结构。服务器正常后也能很快的并入系统等等当然了,你的需求没有那么复杂。其实不需要什么重定向,dns轮询,对现有web服务器,服务器硬件,系统架构做些适当调整一般就能大大提升性能。(前提这些你还没做过。。)