科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道服务器的集群策略

服务器的集群策略

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

集群不是解决性能问题的最佳途径,在单机低并发的情况下如果发现性能不理想,那不要指望集群能帮助带来性能的提升,相反性能还会有所下降。

2006年4月24日

关键字: Apusic 集群 服务器

  • 评论
  • 分享微博
  • 分享邮件
    ZDNetChina服务器站 4月24日集群技巧  集群不是解决性能问题的最佳途径,在单机低并发的情况下如果发现性能不理想,那不要指望集群能帮助带来性能的提升,相反性能还会有所下降。

    国产与进口如何取舍?

    其实在更早一点的时候,笔者发现IBM、BEA等提供的应用服务器产品有同质化的趋势,当时总有用户问:“都是J2EE应用服务器,相互之间有什么不同?”问多了、思考多了之后就发现,对J2EE标准的符合程度是衡量应用服务器的标准之一,所以J2EE应用服务器没有办法不一样。对于PC、笔记本电脑等需要更多个性化的产品来说,同质化不是好事: 用户看着雷同的产品提不起购买兴趣,厂商的利润下降。但对应用服务器这样的企业级平台来说,看重的是其稳定性、可用性、可扩展性等企业级特性,谁能在更低的价格上满足这些需求,自然就成为用户的首选。

    金蝶袁红岗在接受记者采访时表示: “金蝶的Apusic和IBM WebSphere、BEA WebLogic没什么本质区别。”

    “就像神州飞船和阿波罗飞船,没有人会认为它们有什么本质区别,都是为载人航天制造出来的工具,不会因为一个是中国制造、另一个是美国制造,在用途上就存在区别,”袁红岗如此评价软件的中国制造与美国制造。不过他也坦承,金蝶的Apusic与国外同类产品还存在一些差距,但在J2EE标准框架下,完全可供用户使用。另一方面,从产品价格与服务支持角度看,Apusic还拥有本土产品的优势。

    如果仔细剖析Apusic与同类产品的差别,我们会发现这与其产品设计原则有很大关系。据袁红岗介绍:“用户在使用软件时通常会遵循‘二八原则’,即80%的使用者通常只会用到一个软件20%的功能,以微软的Office Word为例,平时我们只是用它来写文档,很多高级功能根本用不上。在Apusic应用服务器的开发上我们也是遵循同样的原则,尽可能将整个软件产品最重要的20%的功能做好,以保证大多数用户的需求,剩下80%的功能则根据需要逐步增加。例如国外产品很早就有的集群功能我们最近才推出,我们认为集群功能是低优先级需求,只有其他性能得到保证后才会考虑集群。”

    从功能上看,Apusic似乎比国外产品少了一些,慢了一些,不过好处是Apusic的启动速度非常快。而Apusic运行轻便的另一个重要原因是其架构以内核和多路复用为核心,且代码编写非常简洁。

    可以认为,国外J2EE应用服务器的综合水平还是高于国产平台,功能也更为丰富,不过在非常强调中小企业信息化的今天,或许国产J2EE平台能够发挥更大的作用。

    澄清“集群悖论”

    去年下半年Apusic才推出集群功能,在袁红岗看来,“集群只有在细粒度计算中效果才会明显,也就是将计算过程以一定的并行算法进行细分,将计算分布到多个处理器运行,最后再将计算结果合并。而J2EE应用中大多数计算都是粗粒度的,加上事务处理需要在分布式计算中进行协调,更降低了集群的整体处理能力。”因为他认为,集群不是解决性能问题的最佳途径,在单机低并发的情况下如果发现性能不理想,那不要指望集群能帮助带来性能的提升,相反性能还会有所下降。

    袁红岗表示,在以下两种情况下集群很有用: 第一,在高并发超负荷运行的主机环境中。例如Google这样的网站,访问量相当大,因此Google会采取集群策略来分散用户的请求,以提高整体响应能力。但通常所接触的J2EE应用负荷量都不算大,每秒访问量在500以下的应用都没有必要采取集群策略。第二,失效转移应用。这或许是集群真正有用的地方,使用一台低成本计算设备作为主设备的备份,在主设备发生故障时及时接替,从而确保7 x 24小时的不间断服务。

    在产品实现上,Apusic没有沿用大多数中间件厂商所采取的内存复制技术。金蝶认为,如果采用内存复制技术,将耗费大量网络带宽,对性能也有影响,因为每当一个结点的状态发生变化时,都需要通过多播等方式向其他结点传递状态信息,随着内部结点的增多,内存复制也将非常频繁,从而严重阻塞带宽。Apusic采用的是客户端缓存技术,直接将状态信息保存在客户端,当服务器失效时将状态转移到可用服务器。

    EJB开发彻底改变

    袁红岗曾预言J2EE正迎来一次划时代的变革,其关键词是EJB。

    过去EJB给人的感觉过重,而且开发过程复杂,不易维护,因此实际项目中较少使用EJB。而在将来的J2EE 5.0规范中将对EJB进行相当大的调整,在EJB3中,其开发方法将彻底改变,不再使用Home、Remote接口等概念,而采取轻量级的开发模式,以J2EE 5.0中引进的annotation作为EJB描述工具,特别是实体Bean的角色被重新定位,使其单纯负担起O/R Mapping的作用。所有这些举措都是为了使EJB的开发过程更加坚定、效率更高、维护更方便。

    在Web开发方面,J2EE 5增加了新的JSF规范,这是一个类似Struts的Web开发框架,但更方便。JSF基于事件及UI组件模型的开发方式颠覆的传统Web开发习惯,结合开发工具的支持,更接近一个真正的MVC编程环境。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章