当前位置: 代码迷 >> Web前端 >> 关于负载均衡跟集群.
  详细解决方案

关于负载均衡跟集群.

热度:290   发布时间:2012-10-29 10:03:53.0
关于负载均衡和集群...
集群应该是多台服务器之间的连接...


我突然想到一个场景


比如一个系统 最大并发是1000,
一个tomcat一般最大并发支持250左右最好,这样的话我就需要4个tomcat服务器来集群运行吧?
一般情况下腰分布到四台机器了吧.

如果每个访问都是最简单的答应一下hello world 的话,那么一个机器处理并发250访问基本上就是浪费吧?
这种情况下该怎么处理呢?

有没有把四个tomcat放在一台机器上面的做法,这样机器跑起来没有问题,也能正常的支持到1000并发了吧?


我问的问题可能会有些弱智...但是还是希望大家在批评的同时给我稍为讲解一下


谢谢啦.
19 楼 InnocentBoy 2010-11-27  
tomcat怎么可能最大支持250!
那土豆网是不是要疯掉了?要用多少个tomcat!!!!
你的比方太不恰当了!
20 楼 dyllove98 2010-11-27  
250个并发 不能支持到上万的同时在线吗?
InnocentBoy 写道
tomcat怎么可能最大支持250!
那土豆网是不是要疯掉了?要用多少个tomcat!!!!
你的比方太不恰当了!

21 楼 blackstreet 2010-11-27  
朋友在土豆工作。
他说,tomcat 可以并发到800多完全问题,1200也勉强行,

要测试的话,在linux下测试吧,这点OS之间相差很多的

国内的话,好像一般集群也就几个TOMCAT,10个以上还没听过


22 楼 tdqing 2010-11-27  
hu437 写道
当然可以,但是你的这个集群的容错能力就低了,还是会有单点故障,就是你的这台服务器挂了,整个应用就挂

如果最大并发就是1000,其实没有必要用集群了,优化一下应用,一个就够了

23 楼 wensong 2010-11-27  
nginx , resin
2台就差不多了 
24 楼 javamonkey 2010-11-28  
主机性能够好,当然可以放多个了。
一个Tomcat跑250个,对于企业应用,应该差不多吧,网站应该更多些。
25 楼 xuzhfa123 2010-11-29  
具体情况具体分析,别动不动就负载均衡,集群。如果将一个tomcat调优可以达到1000个并发,何乐而不为呢,但考虑到系统容错性,企业应用两台就足够了,是网站再另当别论。再说一点,运用tomcat来做集群,随着tomcat越来越多,session之间不断复制,消耗资源比较大。不过可以用目前用的最好的方案:用memcache/torractor来缓存session
26 楼 dyllove98 2010-11-29  
受教了...
xuzhfa123 写道
具体情况具体分析,别动不动就负载均衡,集群。如果将一个tomcat调优可以达到1000个并发,何乐而不为呢,但考虑到系统容错性,企业应用两台就足够了,是网站再另当别论。再说一点,运用tomcat来做集群,随着tomcat越来越多,session之间不断复制,消耗资源比较大。不过可以用目前用的最好的方案:用memcache/torractor来缓存session

27 楼 抛出异常的爱 2010-11-29  
blackstreet 写道
朋友在土豆工作。
他说,tomcat 可以并发到800多完全问题,1200也勉强行,

要测试的话,在linux下测试吧,这点OS之间相差很多的

国内的话,好像一般集群也就几个TOMCAT,10个以上还没听过



我公司不是tomcat 但集群达到50多台 .

另一些小应用在1台机器上能布十多个
28 楼 blackstreet 2010-11-29  
抛出异常的爱 写道
blackstreet 写道
朋友在土豆工作。
他说,tomcat 可以并发到800多完全问题,1200也勉强行,

要测试的话,在linux下测试吧,这点OS之间相差很多的

国内的话,好像一般集群也就几个TOMCAT,10个以上还没听过


我公司不是tomcat 但集群达到50多台 .

另一些小应用在1台机器上能布十多个

正式机是什么不知道,但他的程序我还看过,ant是发布到tomcat的测试机的,我也没说你们的公司的正式机是tomcat,
29 楼 181054867 2010-11-30  
我的服务器双四核,前端用nginx,后端开两个resin,在一台服务器上搞写!
30 楼 icewubin 2010-11-30  
dyllove98 写道
谢谢回答  我只是想知道有没有哪些企业正么干过...嘿嘿
hu437 写道
当然可以,但是你的这个集群的容错能力就低了,还是会有单点故障,就是你的这台服务器挂了,整个应用就挂

如果最大并发就是1000,其实没有必要用集群了,优化一下应用,一个就够了


对于高负载来说,你说的假设就是没有意义的。

1)实际情况必定有瓶颈存在,这个瓶颈多半是网络IO,最终指向的可能是关系数据库或者其他服务。

2)如果瓶颈真的是CPU,由于JVM的服务器版,对多核的利用是没有问题的,你开4个Tomcat和单个Tomcat,都能充分利用多核CPU,这个我们测试过的。

3)除非是不同的应用复用服务器资源,否则没有必要在一台机器上搞多个Tomcat。
31 楼 greedsluck 2010-11-30  
看不懂呢!
32 楼 iecel1990 2010-12-01  
我们的是 两台小型机,前台citrix  硬件负载,到两台pcserver(windows server2003)apache 软负载,在was ,两个实例,一个是用于 ibm portal ,一个用于应用,2CPU ,8核,32 G 内存。
一台文件共享(aix)到磁盘阵列,数据库HA(aix,小型机),两台LDAP 认证(windows server2003),两台sametime server((windows server2003)),
内容管理平台(虚机,一个was,apache),节点管理器(虚机)。
基本就这些。
33 楼 william_ai 2010-12-01  
做过的某系统的环境是4颗双核CPU,32G的物理内存小机6台作WEB服务器,每台上4个左右的WebLogic的实例(有的可能多一些),前端是F5的6900。
比这个更变态的的环境都是可以做的,问题是目标客户有多大的实力。
34 楼 伤心雨 2010-12-01  
archerfrank 写道
jforever 写道
dyllove98 写道
红枫叶x 写道
在一台机器上安装多个tomcat,保证他们的端口号不同,然后使用Apache,就可以实现你的功能。

谢谢.
我是想知道有没有人那么做过?或者会不会有公司这么用呢?


我现在实际就这么用,不过我只是用IIS+两个Tomcat做负载平衡,没有集群。这样我就能保证在更新程序时,不用停掉整个网站。只要停一个开一个就能保持正常访问。
如果有用户正在一个tomcat上操作,需要维持session,那要怎么进行更新呢?

这个也好办。
做负载均衡的时候可以顺便连session复制也做了。
这样两个tomcat的session也是共享的,只是这样开销大了。
35 楼 伤心雨 2010-12-01  
一台服务器装两个tomcat并不是为了解决什么性能问题。只要在一台机器装tomcat,装1个和装多个没区别的。主要还是为了重启方便。不被用户发现重启过
36 楼 JArcher 2010-12-01  
archerfrank 写道
jforever 写道
dyllove98 写道
红枫叶x 写道
在一台机器上安装多个tomcat,保证他们的端口号不同,然后使用Apache,就可以实现你的功能。

谢谢.
我是想知道有没有人那么做过?或者会不会有公司这么用呢?


我现在实际就这么用,不过我只是用IIS+两个Tomcat做负载平衡,没有集群。这样我就能保证在更新程序时,不用停掉整个网站。只要停一个开一个就能保持正常访问。
如果有用户正在一个tomcat上操作,需要维持session,那要怎么进行更新呢?


1,可以用cookie
2,session复制
3,SNA....把session存储在某个地方,如memcache
37 楼 icewubin 2010-12-01  
伤心雨 写道
archerfrank 写道
jforever 写道
dyllove98 写道
红枫叶x 写道
在一台机器上安装多个tomcat,保证他们的端口号不同,然后使用Apache,就可以实现你的功能。

谢谢.
我是想知道有没有人那么做过?或者会不会有公司这么用呢?


我现在实际就这么用,不过我只是用IIS+两个Tomcat做负载平衡,没有集群。这样我就能保证在更新程序时,不用停掉整个网站。只要停一个开一个就能保持正常访问。
如果有用户正在一个tomcat上操作,需要维持session,那要怎么进行更新呢?

这个也好办。
做负载均衡的时候可以顺便连session复制也做了。
这样两个tomcat的session也是共享的,只是这样开销大了。

用Memcached做session存储就OK(或者自己控制需要缓存的对象),不需要任何集群配置,符合SNA原则,横向扩展方便。
38 楼 zhangchong975566 2010-12-02  
我们还没有做过这方面的大型应用,一般一个tomcat就都能搞定了
  相关解决方案