不考虑硬件方面。就说在搭建工程时应该怎么操作,比如说用到哪些框架的组合。请举例

解决方案 »

  1.   

    楼上的回答认真点。struts+hibernate+spring开发一套产品,能撑住多少访问你试过么
      

  2.   

    数据层
    使用MySQL ,同时使用Tokyo Cabinet(Key-value的存储引擎,简称TC)做一个数据冗余,TC代替MySQL做存储,例如搜索结果页的用户资料,但Tokyo Cabinet没有网络处理能力,需要使用Tokyo Tyrant以提供网络接入能力,并调用Tokyo Cabinet的API进行持久化存储
    Tokyo Tyrant其实也是Tokyo Cabinet的作者开发的,主要是支持Memcached传输协议的网络接口,可以理解为Tokyo Tyrant处理网络连接,协议解析,然后调用Tokyo Cabinet的API来完成持久化存储
    服务端
    Web Server : Nginx, 使用Nginx的代理能力,做跨IDC的请求代理,同时与Java Server–Resin搭配,解决Resin网络连接处理能力弱的问题
    Java Server: Resin 替代Tomcat作为Java服务器
    代理服务器 : Squid 做图片文件的反向代理缓存
    Linux服务器集群系统: LVS(Linux Virtual Server),使用它的4层的负载均衡,替代了很多硬件的负载均衡设备
    框架
    Java web框架: Struts,王兴同学一开始写校内网果然是用structs,现在的人人网开始慢慢舍弃原有的框架,并自己开发了一个web框架,传闻将来也会开源出来
    搜索引擎框架: 基于Lucence提供搜索人的服务
    网络框架:Netty,一个Java的网络框架,和apache的mina类似,但比mina更高效,用来提供一些小的服务
    服务器系统监控
    ganglia Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格
    应用层缓存
    Memcached   一个纯内存的key-value的cache系统,使用spymemcached作为java的Client
    ICE : 一个跨语言的网络通讯框架,框架本身提供了强大的通讯能力,管理工具,负载均衡方案,其跨语言能力也是一个很大的亮点,基于这个框架之上,我们选用合适的语言来提供合适的服务,比如我们使用C++来开发Cache服务,使用Java来开发一些逻辑服务。框架本身可以很重,也可以很轻,具体要看你怎么用:)
    Memcached和ICE的缓存服务区别
    对Cache的操作粒度不一样,Memcached对Cache对象以binary byte作为一个整体来操作,需要频繁的序列化和反序列化,我们使用ICE提供的Cache服务,可以以Cache对象的一个或者多个字段来操作,比如一个用户对象,我们可以只更新它的姓名。人人的架构
      

  3.   


    struts2.0 +spring + ibatis 支撑1亿用户,千万级别访问量 腾讯拍拍
    我很认真的回答了.
    由于涉及保密其他你更想象不到的框架支持千万访问量的例子我就不说了
      

  4.   

    补充一点:我不把Memcached等缓存策略计算在开发框架中,那些只存在于设计整体结构中.
      

  5.   

    18m有个框架是做网银的,好像叫btt
      

  6.   

    工行对外平台是IBM银行多渠道综合解决方案WSBCC(Websphere Business Components Composer)
    我记得好象连缓存都没怎么用.
      

  7.   

    SNS和银行差别太大了,没有可比性。比如,SNS之类的Web2.0,很多用LAMP,甚至MySQL-->NoSQL。而且,根本不用考虑什么事务完整性,甚至部分的数据缺失都不会有什么大问题。
      

  8.   

    可以参看帖子:http://topic.csdn.net/u/20100414/13/12ff191f-31c5-4758-81d5-066618648916.html?81854
    使用服务器“推”comet的技术
    参考文章:http://blog.csdn.net/IBM_hoojo/archive/2010/04/18/5498731.aspx
    服务器“推”中长连接
    参考文章:http://blog.csdn.net/IBM_hoojo/archive/2010/04/14/5486074.aspx
    看情况而定
      

  9.   

    不清楚额,可能用到SSH之类的
      

  10.   

    哈哈哈哈 笑死我了
    什么乱七八糟的答案都有
    误人子弟更是大言不惭啊PS:银行内核不用JAVA来做的。数百台服务器的硬件楼主你说你不考虑?走路的时候别走太快。
      

  11.   

    我很奇怪ssh搭建的系统,不做服务器集群和数据库集群怎么能同时支持上万的访问,别说上亿了能过1000就谢天谢地了!
    人人网,我也想知道其中的架构,但是这种东西没有内部人公布,估计都是皮毛!
      

  12.   

    银行有的是钱,他们从来不用开源免费的东西,一上就是 IBM 的小型机,一台不够弄个 N 台的集群,若是 Java 的话应用,应用服务器必定是 IBM 的 WebSphere。
      

  13.   


    你这个误人子弟误大了,核心业务逻辑不用JAVA做,难道展现页用JAVA?内核的是个毛概念?不懂别瞎扯。
      

  14.   

    后台数据操作一般是JDBC或是iBATIS   事务管理和web管理 直接spring解决
       我们公司银行事业部就是这么搭的架子   事在人为   看你自己本身
     千万级别   选好数据库  做好优化  代码规范  别犯傻就好
    不过话说   ssh  只是说着顺口  sh基本没怎么用了   spring不能少
      

  15.   

    看来Spring+iBatis不错,我觉得Struts2可以解决Servlet在同一个Java类中处理多个请求的问题,表单数据处理,可以和Servlet结合使用,我喜欢SSI的搭档
      

  16.   

    单纯的这样问什么框架能支持多少并发毫无意义,1000万访问量平均到每秒就是115tps,如果你的业务比较简单的话,一般的硬件和随便哪个框架都可以满足你的要求。
    你要考虑网络状况、应用复杂度、数据库数据量、页面访问的流量、与其他系统是否有性能瓶颈。
    哎,算了,能提出这样拍脑袋问题的人,应该不是那个真正要架构、实施这个系统的人,我猜楼主不过是来打酱油的。
      

  17.   


    工行那个网银具体是什么架构做的并不重要,重要的是,我觉得他的portal做的够差的,比淘宝、腾讯等公司落后了一个时代
      

  18.   

    直接用JDBC就好啦,硬件都硬就行了只要设计的不要是那么的不合理就行了
      

  19.   

    IBM的WAS(webshpere application server)真的很强大
      

  20.   

    好吧 我也支持SSI 
    千万级别的访问 当然不仅仅是框架级别的选择了
      

  21.   

    每天千万级的也算是个大应用了。这里我就不给你扯啥太多框架什么的东西了。必定这个东西影响微乎其微,即便是有很多人认为hibernate难当大任,那也只是个人问题,简单点说,hibernate的sql语句是高度优化的,那不是随便那个人都可以在不经意间写出来的。至于其他的性能问题,也是看个人情况而定的。
    对于这样的应用最主要的还是几点,页面静态化,缓存,数据库读写分离,负载均衡,以及虚拟机优化。对于 容器的选择,个人认为,有这方面的专家可以选择jboss这种开源的容器,如果没有那就没得选只能用weblogic一类的商用容器。以上最最重要的就是负载均衡。相信我!这个东西才是起决定性作用的。其他的都是有办法解决的。
      

  22.   

    一般银行用的EJB吧,重量级框架,适合多服务器同时工作,大的项目用这个,一般小项目不推荐用,
      

  23.   


    终于有一个提到EJB了,呵
      

  24.   

    去年这两个单位的offer都拿了,人人貌似用的ssh,因为面试都问的这个,让去实习没有去,ICBC软开比较肯定,网银用的wsbcc
      

  25.   


    你手里拿张A行的卡 转钱 到 B行去
    这是2个数据库或者说是2个不同类型的异构数据库,
    操作的过程中要求使用事务操作。
    你ssh怎么做???
      

  26.   


    呵呵我误人子弟你去问问人家银行内核系统是不是用JAVA做的.
    我不知道什么是毛概念,你知道,那请你说.