论坛首页 Java企业应用论坛

大家看看一个十万人在线级别的架构是否合适?

浏览 24337 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-03  

简单说明:
    1. 系统是多公司的asp租用模式,类似国内外的crm租用系统。
    2. 系统要求能满足5万公司的正常使用,10万人的在线,百万人的注册人数。
   3. 见下图,红字部分是还没有考虑好的部分,不打算使用,不知大家对此有什么建议?

   4. 具体开发能不能使用ssh结构,暂且是不准备使用。

 

 

 

  • 大小: 257.5 KB
   发表时间:2007-08-03  
10w人在线的话,和用什么strtus什么都关系不大了,主要在于session的管理,数据库怎么划分,web/app server怎么router和load balance.
0 请登录后投票
   发表时间:2007-08-03  
恩,對
我的目的主要是想让大家看看那个图是否可行。
0 请登录后投票
   发表时间:2007-08-03  
按照这个图,基本上可以确认是不可行的。
完全取消session,只基于cookie,服务器不保存任何状态。
数据库其实比你想象的要强,如果你优化的够好。
0 请登录后投票
   发表时间:2007-08-03  
eyeieye 写道
按照这个图,基本上可以确认是不可行的。
完全取消session,只基于cookie,服务器不保存任何状态。
数据库其实比你想象的要强,如果你优化的够好。
那你的建议呢?
session复制,采用应用服务器的集群?
0 请登录后投票
   发表时间:2007-08-03  
10W人同时在线? What are you talking about?
0 请登录后投票
   发表时间:2007-08-04  
给你一点建议吧,以前做了一套30万人同时在线的系统,就你启动时 创建所有的数据联结池一条就可能导致你的失败,我以前用的是weblogic的联结池,也想在启动时把所有的联结都准备好,其实这是一种失败的设计,初始化需要很长时间,我当时是每个分区一个单独的联结池,至少有几十个联结池,结果需要很长时间才能初始化完成,就是说,一旦荡机,你要重起,就需要很长的时间,等待你去实践,还是不要把所有的联结都初始化为好,后来把联结池改为用MBean来自动的管理,动态的创建和删除。不知道上面的建议对你是否有用。
0 请登录后投票
   发表时间:2007-08-04  
不过你用cookie来保存session 的话,如果安全性要求不高的话,可以使用,并且是一种很好的方法,但是一旦安全要求较高的话,可能会有些安全问题
0 请登录后投票
   发表时间:2007-08-04  
你画东西就不做评语。

较简单实用的方法:

1 DNS轮询 -> cache server 记录session +缓存页面 = 1....N台

2 WEB/APP server = 1.....N台

3 database-Cluster =2...N 台


这样的架构基本上能满足你的要求,包括你以后的扩展,这样结构任何一台server当机,都照样运行。

关于SESSION共享有很多种方法。CACHE SERVER比较简单。SSO其实也是选择之一,不过需要开发(不讨论)。

WEB SERVER层还可以继续细分,包括负载均衡,数据逆向同步等.....

也可以根据业务分别部署到不同的SERVER上。
0 请登录后投票
   发表时间:2007-08-04  
DNS轮询 -> cache server 记录session +缓存页面 = 1....N台,有一个问题,怎么样才能解决一其中一台机当了之后,能不再往那台机发请求呢
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics