比如现在有4台服务器,当每台流量达到一定数目,你知道的,会很卡,页面加载很慢,我没做过分流,之前也没研究过,于是我想这样做:
客户端先访问一个页面,在这个页面里随机选择某一个服务器,然后跳转过去,并使用cookie记录下来,下次访问的时候,就进入上次访问的服务器大家觉得这个思路有错没?
客户端先访问一个页面,在这个页面里随机选择某一个服务器,然后跳转过去,并使用cookie记录下来,下次访问的时候,就进入上次访问的服务器大家觉得这个思路有错没?
负载均衡器比较贵 软件也有免费的 http://www.onlinedown.net/soft/78915.htm
其实对于一般的网站 把数据库 文件 等分放在不同的服务器上就可以
看这个文章
http://www.cnblogs.com/inuli/archive/2009/09/29/1576285.html
1台服务器搞定
多台服务器,每台提供应用中的不同服务
1组服务器
多组服务器
。。
方案很多,个人经验有限,我觉得以上方案是性价比比较高的一般性方案。你现在处在的位置有点不懂,多台服务器,但你似乎又是跑的相同业务。单台服务器优化:
1 硬件升级,主要是内存。
2 关于浏览器缓存的优化,页面静态化等等
3 web服务器调整。比如前端Nginx,squid页面缓存,apache做动态内容,memcache做数据库查询缓存,图片等用Nginx。多台服务器优化:
1 加内存
2 把单台2的模式转变成多台服务器服务器组:
多文件copy,多数据库
涉及 Nginx对后端apache服务器的心跳检测,激活,负载均衡
涉及web文件的同步/异步 复制问题
涉及数据库的同步/异步 复制问题多组服务器:
涉及智能DNS(解决负载均衡,断线检测)
看你的网站的动态性如何如果是动态网站,数据库同步就是个问题。主从数据库是有延迟的。如果是静态的,可以用反向代理缓存器squid, 动态的内容转到apache或者动静结合,网页仍是静态的,内嵌部分动态如果你的各服务器已经是同步了dns 轮询,仍是最简单的 或者用apache重写(改动最小)如果你确定上来在哪个服务器的下次仍是那个服务器,cookie是可的
Nginx squid apache memcache这一套下来完全能让你服务器组的承载量达到前端服务器tcp链接数上限。另外,服务器组,服务器集群中存在维护升级集群或者组中单个服务器的情况,就像热插拔一样,系统要有良好的支持。或者某台服务器故障,也是,系统能有自动检测功能。在可接受的时间范围内重新调整群组结构。服务器正常后也能很快的并入系统等等当然了,你的需求没有那么复杂。其实不需要什么重定向,dns轮询,对现有web服务器,服务器硬件,系统架构做些适当调整一般就能大大提升性能。(前提这些你还没做过。。)